BaseHalf
All posts

A local folder is a better AI workspace than another chat

Keep Claude Code, Codex, and your project in one ordinary folder. The canvas maps it, connections live in the files, and the work compounds.

We kept opening new chats for the same repository. One for a failing test, one for a design note, one for “just ask about this function”. Each thread started cold. We pasted paths, pasted snippets, then lost the trail when the tab closed.

The work itself never lived in those threads. It lived in a folder on disk: source files, notes, a README, a git history. The chat was a temporary window onto that folder. We decided the folder should be the workspace, and the agent should walk into it.

That is what BaseHalf is for. Open a normal project folder on a Mac with Apple Silicon, and it becomes a canvas. Files and subfolders show up as cards. The Agent Area on the right runs Claude Code, Codex, or a terminal. Layout metadata sits in .bh/, out of git. Your files stay ordinary files.

BaseHalf with a project folder open: files in the sidebar, the folder as a canvas of connected notes, and a Claude Code session in the Agent Area.

Chat threads forget. Folders remember.

A chat is good for a single pass. Ask a question, get an answer, move on. Compound work needs something else: the decision you made last week, the note that explains why a test is flaky, the draft that already knows which three sources it came from.

Chat workspaceFolder workspace
Source of truthThe thread, until it scrolls awayThe files on disk
What agents readWhat you paste into the promptThe same files you see
ContinuityStart over or dig through historyGit, search, and the canvas map
What “this” meansYou name the file againSelection is recorded for agents

We stopped treating the prompt box as the place work accumulates. The folder already did that job. BaseHalf just makes the folder legible as a map, and puts agents beside it.

Connections the agents can read

On the canvas, a line from one card into another is not decoration. BaseHalf writes it into the target file as a plain-text upstream list. Git sees the change. Claude Code and Codex see the same list when they open the file. Nothing special has to be injected into the prompt for that link to exist.

We care about that detail because agents are better at reading files than at remembering what we said three messages ago. If the relationship is in the file, the next session starts with it already there.

Selection works the same way. Select a card or a passage, ask about “this”, and BaseHalf records what you meant where the skill tells agents to look. We never dump the whole workspace into a prompt. Agents open what they need.

One place for people and agents

The Agent Area is not a second product bolted on. It is the right side of the same window: Claude Code or Codex as a CLI or a curated extension, plus ordinary terminals. You rearrange cards while a session runs. You commit when the files look right. The canvas and the agent share one folder, so there is no export step between “thinking” and “shipping”.

A disposable chat asks you to rebuild context every morning. A local folder keeps the context in the same place your tools already know: Finder, git, search, and now a canvas your agents can read. That is the local-first AI workspace we wanted for ourselves, and the one BaseHalf opens when you open a folder.