Skip to main content

Tools

Tools allow the LLM to perform actions in your codebase. TF Code comes with built-in tools and supports MCP servers and custom tools via plugins.

Configure

Use the permission field to control tool behavior — allow, deny, or require approval:

{
"permission": {
"edit": "allow",
"bash": "ask",
"webfetch": "deny"
}
}

Wildcard patterns:

{
"permission": {
"mymcp_*": "ask"
}
}

Built-in Tools

ToolDescriptionPermission Key
bashExecute shell commandsbash
editModify files using exact string replacementsedit
writeCreate new files or overwrite existingedit
readRead file contentsread
grepSearch file contents using regexgrep
globFind files by pattern matchingglob
apply_patchApply patches to filesedit
skillLoad a skill and return its contentskill
todowriteManage todo lists during sessionstodowrite
webfetchFetch web contentwebfetch
websearchSearch the web for informationwebsearch
questionAsk the user questions during executionquestion
lspInteract with LSP servers (experimental)lsp

Note: write and apply_patch are controlled by the edit permission key.

Disable Tools

Globally:

{
"tools": {
"write": false,
"bash": false
}
}

Per-Agent Overrides

{
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}

Agent permissions override global settings.