You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClaudeAgentSdkProvider.CAPABILITIES declares working_dir=False, so conductor validate rejects any workflow setting agent.working_dir or runtime.working_dir against this provider.
Until #335 the stated reason was that MCP servers were rejected at the factory, so there was "nothing to scope by directory". That premise is gone — the provider now spawns MCP servers — and the comment was rewritten in #346 to give the real reason: the provider never forwards the engine-resolved working directory to ClaudeAgentOptions.cwd. The capability is still accurate, but it is now a plain gap rather than a consequence of another one.
Why it's worth closing
ClaudeAgentOptions has a cwd field (types.py:1699), so the plumbing is straightforward. Two things depend on it:
Worth confirming how cwd interacts with add_dirs and whether a non-existent directory should fail before the SDK call, matching the engine's existing behavior of raising an execution error for a missing target directory (docs/mcp-tools.md:259).
Summary
ClaudeAgentSdkProvider.CAPABILITIESdeclaresworking_dir=False, soconductor validaterejects any workflow settingagent.working_dirorruntime.working_diragainst this provider.Until #335 the stated reason was that MCP servers were rejected at the factory, so there was "nothing to scope by directory". That premise is gone — the provider now spawns MCP servers — and the comment was rewritten in #346 to give the real reason: the provider never forwards the engine-resolved working directory to
ClaudeAgentOptions.cwd. The capability is still accurate, but it is now a plain gap rather than a consequence of another one.Why it's worth closing
ClaudeAgentOptionshas acwdfield (types.py:1699), so the plumbing is straightforward. Two things depend on it:claudeCLI itself runs in the resolved directory, matching whatcopilotandclaudealready do (feat(working-dir): working_dir for LLM agents and their MCP servers #297).Today both silently use whatever directory the Conductor process happens to be in.
Scope
working_dirtoClaudeAgentOptions.cwdinexecute().CAPABILITIES.working_dirtoTrueand update the comment atproviders/claude_agent_sdk.py.docs/providers/experimental.mdand the parity notes inAGENTS.md.Worth confirming how
cwdinteracts withadd_dirsand whether a non-existent directory should fail before the SDK call, matching the engine's existing behavior of raising an execution error for a missing target directory (docs/mcp-tools.md:259).Related
working_dirfor LLM agents and their MCP serversworking_dircarve-out