Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
Each Claude Code session is a character at a desk in a 3D office. Approve permissions, watch RAM and plan limits, and see what every agent is doing. Free and open source.
Developer toolsGitHub @khanh020905OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Văn phòng 3D cho các phiên Claude Code · A 3D office for your Claude Code sessions
Translation pending
Loading the full README.
Read the full README ↗English · Tiếng Việt
A 3D office where your Claude Code sessions come to work. Each session is a character at a desk:
The office also looks after your Mac: RAM per session, forgotten dev servers, one-click cleanup.
Try it before you install anything. The demo has made-up projects and needs no Claude Code: run npm run dev and
open http://localhost:4310/?demo. Or try it online, nothing to install: https://khanh020905.github.io/my-office/
(a static build of the same demo, published by .github/workflows/pages.yml).
Questions or ideas? Ask in Discussions → Q&A, suggest something in Ideas, or show your office in Show and tell.
My Office is a community project. It is not made by, endorsed by or affiliated with Anthropic.
You need Node.js 20.9 or newer and Claude Code, on macOS, Linux or Windows. The machine panel (RAM, CPU, disk, dev servers, cleanup) reads each system its own way; opening a session's IDE window and quitting apps are macOS only.
npm install -g claude-my-office # (the command it installs is my-office)
my-office install --service # adds the hooks to ~/.claude/settings.json and runs the office at login
my-office doctor # checks Node, the server, every hook and the background service
Then open http://localhost:4310. To try it without installing: npx claude-my-office start (the hooks still need
npx claude-my-office install). An npm install keeps its data (settings, the phone PIN, the history vault) in ~/.my-office,
so upgrading (npm install -g claude-my-office@latest) keeps it.
From the source instead (to change the code):
git clone https://github.com/khanh020905/my-office.git && cd my-office
npm install
node bin/cli.mjs install --service # the same commands as `my-office …`, its data in data/
install backs up settings.json before changing it and only adds My Office's own hooks. Running it again adds
nothing twice.my-office uninstall (from the source: node bin/cli.mjs uninstall).| Command | What it does |
|---|---|
install [--service] [--lan] [--no-approve] [--no-status] [--no-otel] [--no-otel-names] | Adds three kinds of hooks: event hooks, approval hooks, and a status line that reports your plan's usage. Your own status line keeps running inside it. It also turns on Claude Code's own usage numbers (OpenTelemetry) for "What eats your plan", unless you already send them somewhere: see below. --service runs the office in the background from login: launchd on macOS, a systemd user service on Linux, the Startup folder on Windows (no admin needed). --lan lets a phone on the same Wi-Fi watch. --no-approve leaves out the approval hooks. --no-status leaves your status line alone. --no-otel leaves telemetry off; --no-otel-names keeps the names of your own MCP servers, skills and agents hidden ("custom"). |
uninstall | Removes every My Office hook, the telemetry settings install added, and the background service, and keeps the rest of settings.json. |
doctor | Checks each step and says what is missing and how to fix it. |
start [--lan] | Runs the server in this terminal (no launchd). |
pin [--new] | Shows the phone PIN; --new changes it and signs every phone out. |
launchctl kickstart -k gui/$(id -u)/com.my-office (macOS) or
systemctl --user restart my-office (Linux). my-office doctor prints the right command for your system.tail -f ~/.my-office/server.log (from the source: data/server.log).This is the beginning of the README. Read the rest at the original. Read the full README ↗