Tools
tCode gives the model a fixed, small set of tools rather than open-ended system access. Each one does exactly one kind of thing, and whether it needs your permission before running depends entirely on whether it can change something.
| Tool | What it does | Asks first |
|---|---|---|
| read_file | Reads a file's contents. | No |
| grep | Searches file contents by pattern across a directory. | No |
| glob | Finds files by a name pattern. | No |
| web_search | Searches the web for current information. | No |
| write_file | Creates or overwrites a file. | Yes |
| edit_file | Replaces a specific piece of text inside a file. | Yes |
| bash | Runs a shell command and returns its output. | Yes |
- Reading and searching a project tCode has never seen
- Reaching outside your project with
web_search - Writing and editing files, the two ways tCode changes something
- Running commands with
bash - What every tool is blocked from touching
- Who picks which tool to use
- grep versus glob, two different problems
- Why results are capped in size
- No open-ended access, even from bash
Reading and searching
read_file, grep, and glob are how tCode gets its bearings in a project it has never seen before it changes anything: reading a specific file it already knows about, searching for every place a term or function name appears, or finding files by name when it does not yet know exactly where something lives.
Reaching outside your project
web_search works the same way, read-only, no permission needed, but reaches outside your project entirely: current library documentation, a recent API change, an error message that is easier to identify from a public report than to reason about from your code alone.
Writing and editing
write_file and edit_file are the two ways tCode changes a file.
Running commands
bash is the most general tool tCode has: it can run anything a normal shell command could, which is exactly why it is never allowed to run without your approval first.
What every tool is blocked from touching
One thing is true of every tool regardless of whether it is read-only or permission-gated: none of them can read from or write to tCode's own configuration directory, where your saved login session lives.
Who picks which tool to use
Which tool gets used for a given step is decided by the model itself, not by you naming one explicitly.
grep versus glob
grep and glob solve two different problems that are easy to conflate: grep looks inside files for a pattern, useful when you know roughly what text or code you are looking for but not which file it lives in; glob looks at file names themselves, useful when you know the shape of a file you want, every test file, every config file, but not its exact path.
Why results are capped in size
Results from every tool are capped in size before they are handed back to the model: a search that would return thousands of matches is truncated with a note that it was, rather than flooding the conversation with more than could usefully be read.
No open-ended access
No tool, including bash, gives the model open-ended access beyond what it needs for the current task.