Skip to main content
Interactive sessions give you a persistent, browser-based workspace inside a repository pod. Each session provides two interfaces side by side: a terminal for direct shell access and a Claude Code chat for conversational coding assistance — both connected to the same live environment. Sessions are useful when you want to explore a codebase, debug an issue hands-on, make targeted edits alongside automated tasks, or prototype something before turning it into a formal task.

Creating a session

1

Open the Sessions page

Navigate to Sessions in the sidebar and click New Session.
2

Select a repository

Choose the repository you want to work in. Optio will find the existing pod for that repository (or provision a new one if none is running).
3

Optionally specify a branch

By default, the session checks out the repository’s default branch. If you want to work on an existing branch — for example, to inspect a PR branch or continue work started by an agent — enter the branch name here.
4

Start the session

Click Start Session. Optio creates an isolated git worktree inside the repository pod and opens the session view with the terminal and chat panes.

Terminal

The session terminal is a full xterm.js-based web terminal connected directly to the repository worktree inside the pod. You have shell access to the full environment — the same container image, tools, and file system that automated tasks use. From the terminal you can:
  • Run tests, builds, and linters
  • Inspect and edit files with any tool available in the image
  • Run git commands to stage, commit, and push changes
  • Install additional packages or tools for your session
The terminal connects over a WebSocket. If your network connection drops, refresh the page to reconnect. Your worktree and any uncommitted changes will be preserved.

Chat

The chat pane runs an interactive Claude Code session in the context of your repository worktree. Type instructions in plain language — “add error handling to the payments module”, “explain what this function does”, “write a test for the edge case where the input is empty” — and the agent reads and edits the actual files in your session. Chat and terminal share the same worktree, so changes made in one are immediately visible in the other.

PR tracking

If you open a pull request during a session — either through the terminal (gh pr create) or via the chat — Optio automatically records it under the session. All PRs opened during a session are listed in the Pull Requests tab on the session detail page, with live CI and review status.

Cost tracking

Every session tracks the cumulative cost of Claude Code usage in USD. The current session cost is displayed in the session header and updated in real time as the chat agent runs. Session costs are separate from task costs and are included in the overall cost analytics on the Costs page.

Ending a session

When you are done working, click End Session in the session header. Ending a session:
  • Closes the terminal and chat connections
  • Removes the git worktree from the pod
  • Marks the session as ended in the dashboard
  • Preserves any commits or PRs you pushed — those are in the remote repository
Any uncommitted local changes in the worktree are lost when a session ends. Commit and push your work before ending the session.

Use cases

Debugging

Run failing tests, inspect logs, and trace errors interactively — with an AI assistant that can read the actual code alongside you.

Codebase exploration

Ask the chat agent to explain unfamiliar code, trace call flows, or summarize a module before writing a task prompt.

Manual editing

Make precise, targeted edits that are too small or too context-dependent to describe in a task prompt.

Prototyping

Iterate quickly on an idea before turning the result into a repeatable task or workflow.