02 · Parallel work

Parallel means
actually parallel.

Winskel uses local Git worktrees to isolate missions that run in parallel. You choose a folder. Winskel handles Git underneath.

Can Claude Code and Codex work on one project at the same time?

Yes. When an objective has independent parts, Winskel runs them at the same time, each in its own Git worktree on its own branch, on Claude Code, Codex, or both. Work that depends on other work waits for it, and everything comes back into one review.

  • 02 Running
  • 01 Waiting
  • 02 Worktrees
  • 00 Needs you

How it works

Split. Isolate. Run. Wait. Converge.

  1. Split

    Winskel's plan names the parts that touch different code and can run independently. Tightly coupled work stays with one owner.

  2. Isolate

    Each mission gets its own Git worktree and branch, outside your checkout, so two agents never share a working copy or test runs.

  3. Run

    Independent missions run at the same time on the models Winskel chose, on Claude Code, Codex, or both.

  4. Wait

    A mission that depends on others stays waiting until they finish, then starts with their changes merged into its worktree.

  5. Converge

    Every mission returns to one review of the objective: changed files by mission and branch, diffs, and the checks Winskel observed.

One objective, three missions. Two run at the same time on Claude Code and Codex; the third waits for both. All three come back into one review.

Example

One objective, two models, one dependency

Add an onboarding checklist. Storing progress and building the card touch different code; showing progress in setup needs both.

Missions for the onboarding checklist objective
ModelRoleState
Claude Code Sonnet 5.5Store checklist progressRUNNING
Codex GPT-5.6 SolBuild the checklist cardRUNNING
Claude Code Sonnet 5.5Show progress in setupWAITING
The Review panel's Tasks list for one project. Running 2: storing checklist progress on Claude Code Sonnet 5.5 and building the checklist card on Codex GPT-5.6 Sol, both 13 minutes in. Waiting 1: showing progress in the setup flow, assigned to Sonnet 5.5, waiting on 2 tasks.
Two missions running, one waiting on both.
The Worktrees panel. Two missions run at the same time, each in its own working copy on its own branch: Sonnet 5.5 storing checklist progress and GPT-5.6 Sol building the checklist card.
The Worktrees panel: one working copy and branch per running mission.

Under the hood

How the worktrees work

You do not need to manage Git to use this. It is here for when you want to know.

Project
Start a new project or open any folder on your Mac. If the folder has no Git history yet, Winskel sets up local version history after you confirm, and leaves dependencies, build output and secret files out of the first snapshot. Very broad folders, such as your home folder, are refused.
Worktree
Each run gets a separate Git worktree, created outside your repository, so your own checkout is untouched while agents work.
Branch
Each step gets its own branch, named horme/ plus the first 8 characters of the task id and a short slug: horme/<task id>-<slug>.
Dependencies
A step can depend on up to 6 others. It starts only when they finish, with their code merged into its worktree first.
Capacity
How many missions run at once is your Mac's runner capacity: 2 by default in the desktop app.
Result
Nothing is merged into your branch for you. The review shows each mission's branch; when one step fans in the others, its branch holds the combined result.

WORKTREESexample

Mission A
Claude CodeSonnet 5.5
Branch A
horme/3f9a1c2e-store-progress
Mission B
CodexGPT-5.6 Sol
Branch B
horme/8b20d417-checklist-card
Mission C
Waiting for A and B

A worktree isolates Git working state. It is not an operating system sandbox: agents run with the permissions you give Claude Code and Codex.

GitHub is not required. Connect it if you want to open a pull request from a result.

Read the guide to using Claude Code and Codex together