Claude agent: expose a way to disallow built-in tools per session (disallowedTools)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4.6k
- Forks
- 251
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 34
Description
Request
Provide a public way to pass a list of disallowed built-in tool names down to the SDK (disallowedTools) for the packaged Claude agent — e.g. a session-level option on the agentOS client API forwarded through ACP, an ACP config option, or an env var on the agent package. Default (no list) keeps current behavior.
Why
Some Claude Code built-in tools cannot work depending on the integration: AskUserQuestion has no answer channel in a headless client, WebFetch may be blocked by the deployment's network policy, etc. Without disallowedTools, these tools stay in the model's context, the model keeps trying them, and every attempt fails at runtime — visible to end users as noisy failed tool calls.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Trace the agentOS client API into ACP and the packaged Claude agent, focusing on where session options or agent configuration are forwarded. Determine the supported path for passing disallowedTools and verify that the list reaches the SDK. Done means specified built-in tools are unavailable for that session while omitting the option preserves current behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- ai, api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100