To follow your agents, Tenfold adds hooks to Claude Code’s settings and wraps your status line. It asks first, in the setup, and you can take everything back out from Settings. This page lists every change.
In ~/.claude/settings.json
The hooks
Tenfold adds one hook group to each of these events:
| Event | Matcher | What Tenfold uses it for |
|---|---|---|
PermissionRequest |
* |
Showing a permission prompt in Tenfold, and answering it there |
PermissionDenied |
* |
Marking a tool call that was denied |
SessionStart, SessionEnd |
none | Linking a tab to its Claude Code session |
Notification |
none | Knowing when an agent is waiting on you |
Elicitation, ElicitationResult |
none | An MCP server asking you for input |
PreCompact, PostCompact |
none | Showing that a session is compacting |
PreToolUse |
Bash |
Saving the files a shell command is about to change |
Each one runs a script from Tenfold’s folder in Application Support. Your own hooks stay as they are. Tenfold recognises its groups by the script names, tenfold-hook.sh and tenfold-snapshot.pl, so reinstalling replaces them instead of adding copies. On launch, it also removes groups that older versions of Tenfold registered.
The hooks only report from agents started in Tenfold. Every Tenfold terminal carries a TENFOLD_SESSION_ID variable, and the scripts exit straight away without it. Your other terminals are untouched.
The status line
Tenfold replaces the statusLine command with one that runs its reporter, tenfold-statusline.sh. The command ends with the comment # tenfold-statusline.sh. The reporter passes the status line data to Tenfold, then runs your original command with the same data, so your line looks the same in every session. Your other statusLine keys, like padding, are kept.
Your original command is saved in tenfold-statusline-original.txt, and a copy travels inside the new command. If Tenfold’s script is ever missing, the command runs your original status line instead, or prints nothing if you had none.
The backup
Before its first change, Tenfold copies the file to ~/.claude/settings.json.tenfold-backup. It’s written once and never overwritten, so it keeps the file as it was before Tenfold.
Tenfold also:
- keeps every key it doesn’t manage, your key order and the file’s permissions;
- writes through a symlink, if
settings.jsonis one; - never touches the file if it isn’t valid JSON, and tells you in Settings.
On your Mac
Tenfold’s own files live in ~/Library/Application Support/Tenfold/:
tenfold-hook.sh,tenfold-statusline.shandtenfold-snapshot.pl, the scripts the hooks and status line run. They’re rewritten at each launch to match your version of Tenfold.tenfold-statusline-original.txt, your original status line command.inbox/, where events land. Each hook and status line refresh writes one small JSON file. Tenfold reads it and deletes it.replies/andapp.pid, used to answer permission prompts from Tenfold’s chat.snapshots/, copies of the files a shell command names, taken just before it runs, so Tenfold can show what the command changed. Copies are capped in number and size, and removed after two hours.
None of this is uploaded.
Worktrees that Tenfold creates for you go in ~/.tenfold/worktrees/. See Parallel agents.
Permission prompts in the chat
In a chat session, the PermissionRequest hook waits for your answer in Tenfold, for up to 590 seconds and only while Tenfold is running. Claude Code’s own prompt shows at the same time, and whichever you answer first wins.
The shell-command hook never stands in the way. It has a 5-second limit, prints nothing and always lets the command run.
Remove the hooks
Open Settings, go to the Integrations page, and choose Uninstall integration. Tenfold:
- removes its hook groups from
~/.claude/settings.json, keeping yours; - puts your original status line back, with your other
statusLinekeys; - deletes its scripts and snapshots from Application Support;
- turns Track Claude Code off.
If you replaced Tenfold’s status line by hand, Tenfold leaves it alone. If the saved copy of your original has gone missing, Tenfold removes the statusLine key, which gives you Claude Code’s default line.
Turning Track Claude Code off also removes the hooks and restores your status line. The Status line switch on the same page restores just the status line.
Dragging Tenfold to the Trash can’t run any code, so it doesn’t remove the hooks. Uninstall the integration first.
If you already deleted the app
Paste this into Terminal:
curl -fsSL https://gettenfold.app/uninstall.sh | bash
It removes Tenfold’s hooks, puts your original status line back, and deletes Tenfold’s scripts and snapshots. Your own hooks and settings stay as they are, and it saves a copy of settings.json before changing it. If the file isn’t valid JSON, it stops without changing anything.
You can read the script before you run it.
Settings → Claude Code
Changes you make yourself in the Claude Code tab of Settings are separate from the hooks. See Your Claude Code setup.