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
| Tool | Description | Permission Key |
|---|---|---|
bash | Execute shell commands | bash |
edit | Modify files using exact string replacements | edit |
write | Create new files or overwrite existing | edit |
read | Read file contents | read |
grep | Search file contents using regex | grep |
glob | Find files by pattern matching | glob |
apply_patch | Apply patches to files | edit |
skill | Load a skill and return its content | skill |
todowrite | Manage todo lists during sessions | todowrite |
webfetch | Fetch web content | webfetch |
websearch | Search the web for information | websearch |
question | Ask the user questions during execution | question |
lsp | Interact 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.