This is the part that does things: the agent reads files, edits code, runs commands, commits and opens PRs inside your repository — with line-level review and rollback.
Projects
Item
Details
Types
Local directory, or SSH remote (user@host:port plus path)
Organization
Groups; each card offers “Open in Code”, “Generate Wiki”, “Copy path”
Credentials
SSH passwords are encrypted with DataProtection
Workspace: current branch or isolated worktree
Mode
Behaviour
Current branch
Work directly in the project directory; the branch chosen at session creation is checked out immediately
New worktree
git worktree creates a separate directory and branch so the main checkout is untouched. Default location: .hetu-worktrees/<repo>/<worktree> next to the repository; the name comes from your first message
The worktree root is configurable in Settings → Workspace (absolute path, must not be inside a repository). Finished worktrees are cleaned up when their changes are merged, the working tree is clean and they have been idle past the threshold — configurable interval (1 / 6 / 12 / 24 h), idle time, and whether the branch is deleted too.
From choosing a workspace to post-merge cleanup: every agent edit is reviewable line by line, revertible from a checkpoint, and committable through the Git / PR panels.
Branches and Git sync
The branch picker lists local and remote branches; picking a remote ref creates a local tracking branch.
Once a session starts, its workspace and branch are fixed (so edits never land in the wrong place); the badge next to the title always shows them.
A single sync button next to the title pulls, pushes or refreshes based on state, and reports the result in a tooltip.
Directory layout
Path
Content
<repo>/
Main checkout; sessions never edit it directly unless you pick “current branch” mode
<repo parent>/.hetu-worktrees/<repo>/<worktree>/
The session's isolated worktree (root configurable)
git status --porcelain=v2 --branch parses branch, ahead / behind and per-file state (never localized output)
Branch list
Local via for-each-ref, remote via rev-parse --symbolic --remotes (filtering origin/HEAD)
Create / checkout
git worktree add, git checkout; picking a remote ref creates a local tracking branch
Commit
git add (partial staging supported) plus git commit; author comes from repo config
Pull / push
git pull --ff-only / git push, with results and conflicts surfaced in the UI
PR / MR
GitHub via gh pr view|list|create (body sent through --body-file -), GitLab via glab mr view|list|create
Terminal
ConPTY on Windows, script on Unix, so interactive programs work
The seven panels
Panel
Capabilities
Files
Directory tree, filename and content search, built-in editor with save; files touched by the agent are marked
Changes
Files changed during this session with line-level diffs (add / remove / modify) and per-file rollback
Checkpoints
Snapshots taken before each task; restore the whole workspace to a checkpoint
Git
Branch and working-tree state, per-file diff, staging (including partial) and commit
PR
Detects gh (GitHub) or glab (GitLab) from the origin remote: current-branch PR status, open PR list, create form (title / description / base branch / draft); prints platform install hints when the CLI is missing; warns when the branch is not pushed yet
Browser
Embedded browser with address bar, back / forward, reload and quick links (local dev server, API docs, GitHub)
Terminal
A real PTY (ConPTY on Windows, script on Unix) so vim / htop work; SSH projects run ssh -tt inside the PTY
What the agent can do
Tool
Purpose
File read / write
List directories, read files (binary detection), write files, batch replace, move and delete
Command execution
Run commands in the workspace (build, test, scripts); output is fed back to the model
Terminal interaction
For interactive programs, use the Terminal panel or let the agent drive a PTY
Code search
Filename and content search, plus semantic search over code chunks stored separately
Every side-effecting action is governed by the permission mode (see Agent workspace); risky operations go through approval, edits land in checkpoints, and everything can be rolled back.
A typical flow
Open the project card in Code and pick a workspace mode (a new worktree is usually best for one-off tasks).
Describe the task; keep permission mode at ask or switch to auto as needed.
Review the diff in the Changes panel; use Checkpoints to revert wholesale if needed.
Stage and commit in the Git panel, then create the PR (a draft first is fine).
After merge, the worktree is cleaned up while idle; the branch is kept or deleted per your settings.