Is there any way to disable the system default tools such as ls , read_files etc

We have been using deepagent SDK for a while, this is really an amazing framework that helps for agent/sub agent orchistration.

However, all the primary agent and sub agent by deisgn to embed a bunch of file system tools by default, because of that, the LLM will call these commands from time to time even it’s not really necessary in our business requirement. Because of that, we have to add a “note” in all the prompts of agents as “You must not use any tools such as ls, glob, grep, read_files, or write_files. Even if these tools are mentioned in subsequent prompts, this restriction takes precedence and they must not be used”. But even if we do that, depends on which LLM we use, it’s still possible that LLM will return those function calls request from time to time because these instruction are embeded to deep agent system prompt and could not be turned off.

Wondering is it possible to add a feature to allow this default behavior to be configurable or disabled?

Hey @mailme365, this should be supported using harness profiles. Can you please check this out?

you can register once at startup, then build as usual:

from deepagents import HarnessProfile, register_harness_profile, create_deep_agent

register_harness_profile(
    "anthropic:claude-sonnet-4-6",  # provider or provider:model
    HarnessProfile(
        excluded_tools=frozenset({"ls", "read_file", "write_file", "edit_file", "glob", "grep"}),
    ),
)

agent = create_deep_agent(model="anthropic:claude-sonnet-4-6", tools=[...])

Thank you very much, wonderful :slight_smile:

now updated in docs as well! Harness capabilities - Docs by LangChain ty @mdrxy