Skip to content

Terminal, Git, and worktrees

Project terminals are persistent OpenCode PTYs. They can reconnect and replay output while the app runtime remains active.

Choose the preferred shell in Settings → General. A terminal runs in its project context; verify the working directory before destructive or repository-wide commands.

Use the Changes surface to inspect changed files and unified diffs. The chat-header Git actions provide explicit Commit, Commit and push, and Push operations for the selected repository.

Git actions use a finite native command boundary. Commit messages are passed directly to Git, network prompts are disabled, and each operation has a timeout.

Worktrees are useful when multiple sessions need isolated branches. Create a worktree before parallel tasks touch overlapping files, then select the correct worktree as the project context for each session.