Skip to content

V2 sessions do not register project-local .opencode/tools (jail advisory tools are Unknown tool) #352

Closed

Description

@brentyates-swx

Observation

On the unpublished native arm64 candidate 1.18.32-swxtch.cd3f0ce2 (source cd3f0ce2d5e55944df41fcf43a167f77e40c8483, #350), Abbe's jail V2 egress rig (/home/byates/fm-abbe/data/mvp-b16-10/jail-v2-egress-rig.md) passes its signal: the fake provider receives the V2 turn's model request for both a location-only create and a named swxtch-egress create.

The turn's tool call does not run. The rig's fake provider answers with a propose_netlist tool call, and V2 history records:

session.next.tool.failed {"callID": "call-wall", "error": {"type": "unknown", "message": "Unknown tool: propose_netlist"}, "result": {"type": "error", "value": "Unknown tool: propose_netlist"}, "provider": {"executed": false}}

The V2 wait resolves failed. The V1 control turn on the same image completes.

Where the tool comes from

The jail entrypoint (opencode_server.py in swx-abbe's components/orch/services/opencode-variant) stages the advisory tools as project-local tools under /workspace/project/.opencode/tools/*.js, for example propose_netlist.js, and starts opencode serve --pure. V1 loads them. In V2, packages/core/src/tool/registry.ts reports Unknown tool when a name is in neither the local registrations nor ApplicationTools, so no V2 path appears to register project-local .opencode/tools modules for this Location. A real model would therefore not be offered these tools on a V2 turn.

Impact

Abbe B-16.10 (swxtchio/swx-abbe#1951) rolls DEV chat onto V2. Once the release lands, V2 chat turns reach the provider, but the customer-parity advisory tools (propose_netlist, navigate_view, estimate_price, ...) are unavailable to them.

Reproduction

Run the rig doc's steps against the v1.18.32-swxtch.cd3f0ce2 jail image, with the probe's client also printing the session.next.tool.* history events. Found during the release cut tracked in #351.

Activity

  1. added 2 commits that reference this issue on Oct 24, 2026
  2. brentyates-swx commented on Oct 25, 2026

    @brentyates-swx
    Author

    Claimed at dispatch by firstmate. The crew opens its draft PR at pickup; this issue comment records the dispatch claim and duplicate-issue signal.

    • task: v2-tools-352
    • branch: fm/v2-tools-352
    • session: unknown
    • launch cwd: /home/byates/fm-llmrouter (firstmate home; the dispatching session's launch cwd was not discoverable)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions