Native on Linux · Rust + Rune · No Electron

Your coding agents, herded.

Sheltie runs Claude Code, Codex, Cursor and Antigravity in one native app. Every thread lands in a single inbox, a daemon keeps them working after you close the window, and the whole thing idles under 2% CPU.

curl -fsSL https://sheltie.leonavas.com/install.sh | sh

Linux · x86_64 · Wayland

Four agents, one inbox

Pick the agent, the account and the model when you start the thread.

Each agent talks its own protocol. Sheltie speaks all of them and turns their output into the same thread: messages, plans, todos, commands, file changes and approvals.

Claude Code

Talks
stream-json over stdio
Resumes
--resume
Accounts
Many accounts

Codex

Talks
codex app-server · JSON-RPC
Resumes
thread/resume
Accounts
Many accounts

Cursor

Talks
cursor-agent stream-json
Resumes
--resume <chat>
Accounts
Your login

Antigravity

Talks
agy acp · Agent Client Protocol
Resumes
session/load
Accounts
Per instance
Waiting for your approval
Asking you a question
Working
Plan ready
Failed
Done

Built like a tool, not a tab

Close the window. The work keeps going.

sheltie-server

A daemon owns the herd

Agents, terminals and the browser belong to a systemd user service, not to the window. Every event goes into a SQLite log, so a client that reconnects gets exactly what it missed. After a reboot, interrupted runs resume from each agent's own session.

sheltie app ws sheltie-server agentsPTYsChromium event log
At rest
<2%

CPU while idle. Nothing redraws unless something changed, and effects cost zero when there's nothing to show.

Tiles

Threads, terminals and diffs side by side

Drag the dividers, zoom one tile, keep a layout per project.

Embedded browser

A browser your agents can drive

The daemon runs Chromium and gives every agent the same preview over MCP. You watch it live, open DevTools in a tile, or point at an element and send it to the chat with its selector, styles and a cropped screenshot.

Machines

Every computer on your tailnet

Start a thread on another machine and drive it from here. Tailscale tells Sheltie who's knocking, so there's no pairing step.

  • omacasa this machine 7 threads
  • omafebra tailnet 3 threads
  • build-box tailnet 1 threads
Accounts

Many accounts, one picker

Keep several Claude Code and Codex accounts side by side. Choose one with the agent and see how much of it you've used.

  • personal 34%
  • work 81%
  • personal 52%
  • Plan mode
  • Message queue & steering
  • Per-turn diffs & revert
  • Git worktrees
  • Context meter
  • Slash commands
  • @ files
  • Paste images
  • Command palette
  • Inline approvals
  • Omarchy themes
  • One Dark & One Light
  • Supervised → full access
  • Snooze & settle

Bring the herd home.

One command installs the app and the daemon.

curl -fsSL https://sheltie.leonavas.com/install.sh | sh

You'll need

  • Linux on x86_64 with a Wayland compositor
  • A systemd user session, so sheltie-server outlives the window
  • At least one agent CLI on your PATH: claude, codex, cursor-agent or agy

Updating

Run the same command again. Your threads stay where they are.