Projects, Worktrees & tabs
Projects
A project is a local git repository opened in Orbital. The left rail lists every project with an aggregate status dot and its worktrees. Add one with the + button; remove one from Orbital by right-clicking its header (the repo and its worktrees stay on disk).
The Add project dialog has three sources:
- Local folder — pick a folder that is already a git repository.
- Clone from GitHub — pick one of your repositories (or type
owner/repo) and clone it into a folder of your choosing. - New GitHub repo — create a repository on GitHub and clone it in one go.
The form mirrors
gh repo create: owner (you or one of your organizations), a name with a live availability check, visibility, description, and under More options a README,.gitignoretemplate, license, template repository, homepage, issues/wiki toggles and an org team.
The GitHub sources use the GitHub CLI (gh), so it
needs to be installed and signed in with gh auth login. Cloning goes through
gh repo clone, which picks HTTPS or SSH from your gh configuration and
supplies credentials, so private repositories work without extra setup.
If gh is signed in to more than one account (a personal and a work login,
say), a GitHub account picker appears above the form. It defaults to gh’s
active account, and choosing another one reloads the owners and repositories
as that login. Orbital acts as the chosen account for that dialog only, by
handing gh the account’s token for each call, so it never runs
gh auth switch and your terminals keep whichever account they had.
Worktrees
A worktree is a working surface bound to one working directory:
- The root worktree (
mainbadge) is your normal checkout. Every project has exactly one, and it can’t be removed. - Linked worktrees are real
git worktreecheckouts on their own branch, created via New Worktree or from a task. They live in a sibling directory — forC:\Projects\nebula-shop, worktrees go underC:\Projects\.orbital-worktrees\nebula-shop\<branch>— so they never pollute the repo itself.
Orbital is a worktree dashboard, not just a worktree creator: every checkout
git worktree list reports shows up under the project automatically, wherever
it lives and however it was created. Run git worktree add in any terminal and
the new worktree appears in the rail within a second; remove one externally and
its entry (with its tabs and layout) goes away. Discovery runs at launch and
live, by watching each repo’s .git/worktrees directory.
Branch names are slugified for you (“Login flow” → login-flow) and collisions
get numeric suffixes. If the branch already exists, Orbital attaches to it;
otherwise it forks a new branch from the base ref you chose (default HEAD).
Right-click a worktree to rename it, close it (keeping it on disk), or delete the worktree. Deleting refuses to discard uncommitted or unpushed work unless you explicitly force it.
Env-file sync
New worktrees are seeded with the project’s untracked env files (.env,
.env.* by default — configurable per project in Settings), and changes to
those files in the root checkout keep syncing to linked worktrees while Orbital
runs. Your feature branches are runnable immediately.
Panes & tabs
Each worktree owns a split tree of panes, each pane a strip of tabs:
- Terminal — a real PTY running your shell.
- Claude (agent) — a PTY that boots straight into your coding agent.
- Browser — an in-app preview (plain-clicking a URL in any terminal opens one; Ctrl+click uses your system browser).
- Editor — file tree, syntax-highlighted source, diffs, previews, images.
Drag a tab to another pane’s strip to move it, or to a pane edge to split in that direction. Drag the dividers to resize. Layouts, tabs, and worktrees all persist across restarts — terminals restart fresh (scrollback intentionally does not persist), while scrollback does survive tab switches within a session.