Tree-structured AI coding assistant with git worktree isolation
Project description
CodeFission
Tree-structured AI coding assistant for exploring and experimenting with code. Each conversation node is an isolated git worktree — branch to try alternative approaches, and every branch gets its own filesystem sandbox.
Example: research workflow
The canvas works for open-ended research: branch from a root prompt, iterate on sub-questions, and keep parallel threads visible — sticky notes and deep trees included.
Example: duplicating a session
Use Duplicate on a node to spin up another branch from the same starting point — handy when you want the same prompt but different tool runs, follow-ups, or outcomes side by side.
Example: start a tree from commit history
Open the git graph view for a project to see branches and commits. Pick any commit and use Plant new tree here to spin up a new conversation tree rooted at that exact revision — useful for revisiting an older state or exploring “what if” from a specific point in history.
Prerequisites
- uv — Python package manager (used to install CodeFission)
- An AI backend — Claude Code or Codex CLI (you only need one)
- git — worktree isolation. Usually pre-installed.
Install uv
uv is a fast Python package manager. If you don't have it:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
You don't need to install Python separately — uv manages that for you.
Authenticate Claude Code
Install and log in with your Anthropic account (Claude Pro/Max) or API key:
npm install -g @anthropic-ai/claude-code
claude login
Alternatively, set ANTHROPIC_API_KEY in your environment.
Authenticate Codex CLI
Install and log in with your OpenAI account:
npm install -g @openai/codex
Then authenticate using one of:
codex login # OpenAI API key (paid API access)
codex login --chatgpt # ChatGPT Plus or Pro account
Alternatively, set OPENAI_API_KEY in your environment.
Install
uv tool install codefission
This installs fission as a standalone command on your system. uv creates an isolated environment for it automatically — no Python environment management needed on your end.
Prefer pip?
pip install codefissionworks too.
Then run:
fission
Opens as a desktop app on first launch (downloads ~80 MB once). Use fission --browser to open in a browser instead.
fission # desktop app (default)
fission --browser # browser mode
fission --desktop # force desktop app
Updates
When a new version is available, fission will notify you on launch and offer to upgrade automatically. You can also check manually:
fission --update
Install from source
Requires uv and Node.js 20.19+ or 22.12+.
git clone https://github.com/codefission-ai/CodeFission.git
cd CodeFission
make install
fission
For development with auto frontend rebuild:
make dev
How it works
Create a tree in the sidebar, type a message, and CodeFission spawns a Claude Code session in an isolated git worktree. Branch any node to explore alternatives — each branch forks the conversation context and the filesystem state.
[root]
/ \
[add auth] [add auth] <- same prompt, different approaches
| |
[fix tests] [add logging] <- independent follow-ups
Every node tracks its git branch, commit, and Claude session. Child nodes fork from the parent's prompt cache so context carries over without re-sending history.
Authentication
Configurable in the Settings panel (gear icon in sidebar):
- CLI (OAuth) — default. Uses your
claude loginsession. No API key needed. - API Key — provide an Anthropic API key in settings. Useful for headless/remote setups.
Both modes require the Claude Code CLI binary to be installed.
Configuration
Open Settings (gear icon) to configure:
- Global defaults — provider, model, max turns, auth mode. Applies to all trees.
- Per-tree overrides — provider, model, max turns. Leave as "Default" to inherit global settings.
Settings persist in the backend database across sessions and devices.
Development
make dev # install + build frontend + run server
make test # run tests
make build # build wheel for PyPI
make publish # build + upload to PyPI
make clean # remove build artifacts
Frontend dev server (hot reload):
cd ui
npm run dev
Data is stored in ~/.codefission/ (SQLite database, git worktrees). Override with CODEFISSION_DATA_DIR env var.
Platform support
| Platform | Status |
|---|---|
| macOS | Tested |
| Linux | Tested |
| Windows | Not tested — may work, but no guarantees |
Windows users: if you hit issues, open a GitHub issue and I'll respond within 3 hours.
Support
Found a bug or something not working? Open an issue — I respond to all issues within 3 hours.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codefission-0.1.12.tar.gz.
File metadata
- Download URL: codefission-0.1.12.tar.gz
- Upload date:
- Size: 60.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adc21ac5884f15ba06bfd655a4b861374f5228f9401d791d7e11cffde4c35a1f
|
|
| MD5 |
42b2b730e3752b69577bc158844d9848
|
|
| BLAKE2b-256 |
cc154d7de0aed1c12d2c6e073381a367bbfa3fd5b7e22db76ff812b500c566ad
|
File details
Details for the file codefission-0.1.12-py3-none-any.whl.
File metadata
- Download URL: codefission-0.1.12-py3-none-any.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63127c00c05152514e78b6903466e8dec42c7bc2aaed36393a753a692dab6c30
|
|
| MD5 |
7d74ddb4072f33a39a9e0f02353bb418
|
|
| BLAKE2b-256 |
2882d526d314d21e2fd59502657eb76c437cb03c2e93e55a271675525e59173e
|