Claude Code lives in your terminal and knows your repo. It does not know the rest of your Mac. Ask it to free disk space and it reaches for du and rm -rf.
Room Service fixes both sides. As a Claude Code MCP server on your Mac, it gives Claude Code the app’s own view of storage, ports, processes, and projects, and lets it act only through the app, inside permissions you set. And because Claude Code writes every session to disk, Room Service lists those sessions, one row each, without touching your memory, settings, or CLAUDE.md.
Add Room Service to Claude Code
In Room Service, open Settings > Agents and turn on “Allow agents to connect”. Nothing listens until you do, and nothing ever listens on the network.
Open the Claude Code row and click “Add to Claude Code”. When Room Service finds your
claudebinary in a standard location, it runs Claude Code’s own command at user scope, so the server is available in every project:claude mcp add --scope user room-service -- /usr/local/bin/roomservice mcpThe path is the CLI inside the app, or
/usr/local/bin/roomservicewhen that link points into the app. Without aclaudebinary, Room Service writes the same entry into~/.claude.jsonundermcpServers, keeping everything else in the file:{ "mcpServers": { "room-service": { "type": "stdio", "command": "/usr/local/bin/roomservice", "args": ["mcp"], "env": {} } } }The Copy button in the row has the command with the right path.
Restart Claude Code. The row shows Added. If you move the app later, it shows Needs repair, and Repair points the entry back at the right CLI.
On Claude Code’s first tool call, Room Service asks once whether this agent may use it. The panel shows the executable macOS reports, normally your
claudebinary. Room Service remembers the executable, not the name the agent sends.
What Claude Code can do once connected
“What is taking space on this Mac?” calls list_categories and gets the last scan, each row marked safe, review, or risky. “Dry-run a cleanup of Xcode build data” calls clean_items with dry_run: true. “Stop whatever is on port 3000” calls list_ports, then stop_port with the PID it saw; if another process holds the port by then, nothing is stopped and the reply names the new owner. “Anything unpushed here?” calls git_sweep, which only reports.
Reversible actions run when asked and land in the Ops Feed as Claude Code. Permanent delete, force quit, and Docker prune are off by default and, when on, wait for your Allow in a floating panel that Return cannot confirm, so typing in Claude Code’s terminal never answers it. Developer Vault has no scope at all.
docs/AI_AGENTS.md has a CLAUDE.md block that tells Claude Code to ask Room Service before cleaning anything, and to dry-run first.
Claude Code taking disk space: what Room Service lists
Claude Code keeps one transcript per session at ~/.claude/projects/<encoded project path>/<session uuid>.jsonl, often with a same-named folder of subagent and tool output beside it, and rewind checkpoints under ~/.claude/file-history/<session uuid>.
Room Service’s AI Apps category has a Claude Code Conversations group with one row per session, named after the project and the day it was last written, with the transcript, its folder, and its checkpoints counted as one unit. A row whose project folder is gone says so, and CLAUDE_CONFIG_DIR is honored.
Never listed: settings*.json, CLAUDE.md, agents, commands, skills, plugins, hooks, credentials, the live-session registry, plans, backups, and above all each project’s memory folder. The scanner skips them, and a second check at deletion time refuses any path under the config folder that is not a UUID-shaped session or checkpoint.
Sessions are rated Review and never selected by default. A session written to in the last hour is left out of the scan, and refused at cleanup if it has become active since. Sessions can only be cleaned from the app: roomservice clean skips them, and clean_items over MCP refuses them as cleaned only from the app. Deleting a session means claude --resume can no longer reopen it and its /rewind checkpoints go with it; your code is untouched.
Claude Code is a trademark of Anthropic. Room Service is not affiliated with Anthropic.