forked fleetcode to make it remote first
Find a file
Amrit Subramanian d687523e4d Use execAsync with login shell for MCP add/remove/get commands
- Replaces PTY-based execution to avoid race conditions with MCP poller
- Uses process.env.SHELL to detect user's preferred shell
- Falls back to /bin/zsh on macOS, /bin/bash on Linux
- Executes in login shell (-l) to ensure PATH is set correctly
- Each command runs in independent shell process (no interference)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 23:19:27 -04:00
.github/workflows use electron builder publishing 2025-10-04 20:57:48 -04:00
build icons 2025-10-04 20:36:20 -04:00
.gitignore ignore fleetcode directory 2025-10-03 15:12:46 -04:00
fleetcode.png add image to readme 2025-10-03 17:13:55 -04:00
index.html Add configurable worktree root directory setting 2025-10-07 14:55:35 -04:00
main.ts Use execAsync with login shell for MCP add/remove/get commands 2025-10-07 23:19:27 -04:00
package-lock.json Upgrade to @xterm/addon-fit from xterm-addon-fit 2025-10-05 21:12:37 -04:00
package.json Bump version to 1.0.1-beta.4 2025-10-07 15:19:13 -04:00
README.md Add Claude Code auto-connect troubleshooting section 2025-10-07 11:20:30 -04:00
renderer.ts Run MCP add/remove/get commands in poller PTY instead of execAsync 2025-10-07 19:37:08 -04:00
simple-claude.ts add mcp server working 2025-10-03 00:25:36 -04:00
styles.css Revert "Add worktree path display to session sidebar" 2025-10-07 15:15:54 -04:00
tailwind.config.js sidebar 2025-10-02 13:16:38 -04:00
tsconfig.json typescript 2025-10-02 13:03:09 -04:00
types.ts resizing works, delete git branch when deleting session 2025-10-06 18:05:14 -04:00

FleetCode

FleetCode

A desktop terminal application for running multiple CLI coding agents simultaneously, each in isolated git worktrees.

Features

  • Multiple Sessions: Run multiple coding agent sessions (Claude, Codex) in parallel
  • Git Worktree Isolation: Each session runs in its own git worktree, keeping work isolated
  • Persistent Sessions: Sessions persist across app restarts with automatic resumption
  • Terminal Theming: Choose from preset themes (macOS Light/Dark, Solarized Dark, Dracula, One Dark, GitHub Dark)
  • Setup Commands: Configure shell commands to run before the coding agent starts
  • MCP Server Management: Add and configure Model Context Protocol (MCP) servers
  • Session Management: Rename, close, and delete sessions with automatic worktree cleanup

Prerequisites

  • Node.js 16+
  • Git
  • Claude CLI (npm install -g @anthropic-ai/claude-cli) or Codex

Installation

npm install

Usage

Development

npm run dev

Production Build

npm run build
npm start

How It Works

Session Creation

  1. Select a project directory (must be a git repository)
  2. Choose a parent branch for the worktree
  3. Select your coding agent (Claude or Codex)
  4. Optionally add setup commands (e.g., environment variables, source files)
  5. FleetCode creates a new git worktree and spawns a terminal session

Session Management

  • New Sessions: Use --session-id <uuid> for first-time Claude sessions
  • Reopened Sessions: Automatically resume with --resume <uuid>
  • Worktrees: Each session gets its own isolated git worktree
  • Persistence: Sessions are saved and can be reopened after closing the app

Terminal Settings

Access settings via the gear icon (⚙️) in the sidebar:

  • Font Family: Choose from common monospace fonts
  • Font Size: Adjust terminal text size
  • Theme: Select from preset color themes
  • Cursor Blink: Toggle cursor blinking

MCP Servers

Configure Model Context Protocol servers for enhanced agent capabilities:

  • stdio: Direct process communication
  • SSE: Server-sent events via HTTP

Troubleshooting

macOS: "App can't be opened because it is from an unidentified developer"

If you encounter a quarantine warning when trying to open the app on macOS, run:

xattr -cr /path/to/FleetCode.app

This removes the quarantine attribute that prevents the app from opening.

Claude Code: Working Directory Issues

If you're using Claude Code and it's reading/writing files from the wrong directory instead of the worktree, disable "Auto connect to IDE" in your Claude Code settings:

claude config

Set autoConnectToIde to false. This ensures Claude Code operates within the correct worktree directory.

License

ISC