यह setup पूरा होने पर osFoundry में Worker role Claude Code संभालता है। जब plan का कोई step Worker तक पहुँचता है, तो desktop app आपके project folder में claude शुरू करता है, आपके अपने Claude subscription से signed in। Claude Code files को अपने tools से edit करता है, और osFoundry के tools, जैसे आपके notes में search, को mcp__osfoundry__memory_search नाम से call करता है। हर ऐसी call osFoundry chat में एक "Using …" line की तरह दिखती है।
कौन क्या करता है
| Claude Code | osFoundry desktop app | |
|---|---|---|
| Login | आपका Claude subscription, जिसे CLI /login के बाद store करता है | इसे कभी नहीं देखता। Child process के environment से ANTHROPIC_API_KEY और ऐसे variables हटा देता है, ताकि run API billing पर न चला जाए |
| Cost | आपके subscription से जाता है | Run को cost 0 पर record करता है |
| Files | अपने Read, Edit और Bash, एक ही folder के अंदर (--add-dir) | वह folder चुनता है: Local Folders में सबसे नया |
| osFoundry tools | उन्हें mcp__osfoundry__<tool> की तरह call करता है | उन्हें सिर्फ़ इसी run के लिए एक loopback port पर serve करता है, और हर call को allowlist से check करता है |
| Approval | अपने folder में --permission-mode bypassPermissions के साथ चलता है | Bridge से आई हर call उसी approval और policy gate से गुज़रती है, जिससे किसी दूसरे model की tool call |
| Output | Final text | Role का output बन जाता है। Tool activity progress lines के रूप में दिखती है |
Setup
1. Claude Code install करें और एक बार sign in करें
CLI को वैसे install करें जैसा Anthropic की documentation में बताया गया है। फिर terminal से sign in करें:
$ claude > /login osFoundry binary को PATH में, ~/.claude/local में और VS Code extension bundle (~/.vscode/extensions/anthropic.claude-code-*/resources/native-binary/claude) के अंदर ढूँढता है। यानी जो Claude Code सिर्फ़ VS Code extension के साथ आया है, वह भी मिल जाता है।
2. External AI में इसे on करें
Desktop app में header के key icon (API Keys (BYOK)) पर click करें, फिर External AI tab खोलें। Claude Code वाली row ऐसी दिखनी चाहिए:
Claude Code Installed [Enabled] /Users/you/.claude/local/claude Model id: cli:claude (chat) · cli:claude:agent (autonomous) [Verify sign-in] [Sign in] उदाहरण: External AI tab में Claude Code और Codex
Verify sign-in पर click करें। App CLI के ज़रिए एक छोटी-सी completion चलाता है और ✓ Signed in या Needs sign-in दिखाता है। Sign in एक terminal window में Claude Code खोलता है, इस hint के साथ: "Type /login to sign in, then close this window."
आपको API key in env badge दिख सकता है। इसका मतलब है कि जहाँ से osFoundry launch हुआ, वहाँ ANTHROPIC_API_KEY जैसा कोई variable set है। App claude शुरू करने से पहले उसे हटा देता है, इसलिए run फिर भी आपके subscription पर ही चलता है। Badge बस एक चेतावनी है।
3. इसे एक folder दें
Agent mode एक असली directory में काम करता है। अपना project Settings → Local Folders में जोड़ें। अगर कई हैं, तो सबसे आख़िर में जोड़ा गया folder इस्तेमाल होता है। Code surface से शुरू हुए runs इसकी जगह उस run के लिए registered repository इस्तेमाल करते हैं।
4. Role bind करें
Pipeline tab → Pipeline Roles खोलें। Agents के नीचे Worker चुनें और External AI (subscription) group से cli:claude:agent select करें।
दोनों ids दो अलग modes हैं:
-
cli:claude:agentautonomous है। Claude Code के पास आपके folder में अपने tools होते हैं, साथ में bridge के ज़रिए osFoundry के tools भी। इसे Worker, Researcher, Document Agent और ऐसे roles के लिए इस्तेमाल करें। -
cli:claudechat mode है। CLI--disallowedTools '*'के साथ चलता है और कुछ भी call नहीं कर सकता। यह Titling या Compaction जैसे सिर्फ़-text roles के लिए ठीक है। अगर tools की ज़रूरत वाला कोई role इससे bind हो, तो run एक message के साथ fail होता है जो आपकोcli:claude:agentइस्तेमाल करने को कहता है।
Agents screen पर आप जो agents define करते हैं, वे भी इसे इस्तेमाल कर सकते हैं। उनका model picker इसे CLI agents के नीचे "autonomous — runs in your local folder" label के साथ दिखाता है।
5. App असल में क्या चलाता है
हर run के लिए osFoundry एक नया MCP bridge शुरू करता है, फिर CLI को लगभग इस तरह launch करता है। Flags src-tauri/src/providers/agent_cli.rs के build_claude_command से लिए गए हैं:
claude -p "<conversation>" \ --output-format stream-json --verbose --include-partial-messages \ --permission-mode bypassPermissions \ --add-dir /Users/you/work/site \ --mcp-config '{"mcpServers":{"osfoundry":{"type":"http", "url":"http://127.0.0.1:<port>/mcp", "headers":{"Authorization":"Bearer <per-run token>"}, "timeout":120000}}}' \ --strict-mcp-config \ --append-system-prompt "<role prompt>" --strict-mcp-config आपके अपने global या project MCP servers को इस run से बाहर रखता है। सिर्फ़ osfoundry server attach होता है। Port और token हर run पर नए होते हैं, और process ख़त्म होते ही listener बंद हो जाता है।
एक असली run
उदाहरण। Note और repository demo content हैं।
आप (Maestro chat, Worker = cli:claude:agent) मेरे notes में देखो कि Q4 budget review कब है, और उसे TODO.md में जोड़ दो। Claude Code tool calls mcp__osfoundry__memory_search {"query": "Q4 budget review"} → "Q4 budget review: गुरु 14:00." Read TODO.md Edit TODO.md (+ "- [ ] Q4 budget review के लिए numbers तैयार करें (गुरु 14:00)") osFoundry progress lines Using memory_search — {"query":"Q4 budget review"} Using Read — {"file_path":"TODO.md"} Using Edit — {"file_path":"TODO.md", …} जवाब TODO.md में "Q4 budget review के लिए numbers तैयार करें (गुरु 14:00)" जोड़ दिया गया है। समय आपके note "Q4 budget review: गुरु 14:00." से लिया गया है। mcp__osfoundry__ prefix वह तरीक़ा है जिससे Claude Code osfoundry नाम के server के tools का नाम रखता है। osFoundry progress line में इसे हटा देता है, इसलिए memory_search वैसा ही पढ़ा जाता है जैसा किसी API model के साथ।
सीमा कहाँ है
Bridge एक छोटी, fixed list देता है। इसमें memory_search, web_search, extract_content, code_search, todo_list, transcribe और cloud_* read tools जैसे read-only tools हैं, साथ में orchestration (spawn_fleet, graph_run, loop_run), live screen और Canvas tools। read_file, write_file और execute_command जान-बूझकर बाहर रखे गए हैं। Claude Code के पास इनके folder-scoped versions पहले से हैं, और MCP पर एक दूसरा, बिना scope वाला executor --add-dir के बाहर तक पहुँच जाता।
Allowlist bridge लागू करता है, कोई CLI flag नहीं। bypassPermissions mode वाला run --allowedTools को नहीं मानता, इसलिए osFoundry इसे pass ही नहीं करता। Run की list से बाहर के किसी भी tool की call पर JSON-RPC error मिलता है: "tool '…' is not available to this agent"।
Workspace और channel bridge शुरू होते समय fix हो जाते हैं। कोई tool call अपने arguments के ज़रिए ख़ुद को किसी दूसरे workspace की तरफ़ नहीं मोड़ सकती।
Screen या Canvas editor पर writes (ui_agent_act, Canvas write tools) हमेशा पहले आपसे पूछते हैं, ठीक वैसे ही जैसे API model के साथ। जिन runs को कोई नहीं देख रहा, जैसे channel mention का जवाब देता कोई agent, वे approval वाले tool को मना कर देते हैं, बजाय ऐसे click का इंतज़ार करने के जो कभी नहीं आएगा।
आपकी files कभी osFoundry से होकर नहीं गुज़रतीं। Claude Code उन्हें सीधे पढ़ता और edit करता है, और उसका traffic आपके अपने login के साथ Anthropic तक जाता है, जैसे terminal में जाता।
अगला step है cli:claude:agent को Worker के साथ Researcher role से भी bind करना, और एक orchestrated task चलाना। Pipeline roles page पर वे सारे roles हैं जो आप इसे दे सकते हैं, और Local Folders बताता है कि working folder कैसे चुना जाता है।
