Skip to content

imadAttar/orbit

Repository files navigation

Orbit

Orbit

Desktop app for supervising Claude Code sessions across multiple projects.

Release License CI Platforms

Download · Features · How it works · Development


The problem

You run Claude Code in multiple projects. You close the terminal, lose track of which session was doing what. You have no way to know if a background task finished. You restart and can't resume where you left off.

What Orbit does

Orbit wraps Claude Code CLI in a native desktop app. You keep all your projects open as tabs, resume any session after restart, and get notified when a background session needs attention.

Features

  • Session persistence — close the app, reopen later, resume exactly where you left off
  • Live status indicators — see which sessions are working, idle, or waiting for input — per project, in real time
  • Tab notifications — tab flashes when a background session completes
  • Multi-project tabs — switch between projects without killing sessions
  • Multi-session per project — run several Claude sessions and plain terminals in parallel
  • Prompt navigation — jump between prompts in terminal scrollback
  • Auto session naming — titles generated via Claude Haiku from your first prompt
  • Mode toggle — supervised (asks permissions) or autonomous (runs freely)

How it works

Orbit detects session state (working / idle / waiting) through Claude Code hooks — not by parsing terminal output. On first launch, Orbit automatically adds hooks to your project's .claude/settings.local.json (the local settings file that isn't committed to git). If the file doesn't exist, it's created.

The hooks write state to ~/.orbit/session-state.json. Orbit watches this file with a native filesystem watcher and updates the UI in real time.

Orbit never modifies your global Claude Code settings (~/.claude/settings.json). Only project-local settings are touched. The one exception is the status line script (~/.claude/statusline.sh) which Orbit creates on first launch with your permission.

Download

Platform Architecture Download
macOS Apple Silicon .dmg
Windows x64 .msi
Linux x64 .deb / .AppImage

Prerequisites

Claude Code CLI installed and authenticated.

Development

Requires Node.js 20+ and Rust 1.75+.

npm install            # Install dependencies
npm run tauri dev      # Launch app in dev mode
npm test               # Run tests (171 tests)
npx tsc --noEmit       # Typecheck
npm run tauri build    # Production build for current platform

Architecture

src/                    React 19 + TypeScript
  core/                 Zustand store, types, API layer
  features/terminal/    xterm.js terminal + PTY hooks
  layout/               TabBar, Sidebar, StatusBar
  modals/               Preferences, NewProject
  lib/                  Analytics, themes, parsers

src-tauri/src/          Rust backend
  pty.rs                PTY lifecycle (spawn/write/resize/kill)
  claude.rs             CLI integration + session hooks
  watcher.rs            Filesystem watcher for session state
  terminal.rs           Editor integration, scrollback

Tech stack

Frontend: React 19, TypeScript, Zustand, xterm.js · Backend: Rust, Tauri 2, portable-pty · Build: Vite, Cargo · CI: GitHub Actions

Contributing

Contributions welcome. Please open an issue first to discuss what you'd like to change.

License

AGPL-3.0

About

Desktop app for supervising Claude Code sessions across multiple projects. Session persistence, live status indicators, multi-project tabs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors