Product · Issue Sessions

Turn issues into shipped code.

An Issue Session is a single, auditable unit of work - from triage to merged PR. Senior engineers stay in control; the agent does the toil.

01Capture

Issues land from your tracker, Sentry, GitHub or a discovery scan.

02Plan

Planner persona drafts a step-by-step approach you can accept or edit.

03Execute

Agent runs inside an isolated sandbox, with full repo + tooling access.

04Review

Judge and Evaluator gate the diff before a PR is opened on your repo.

Plays nicely with
GitHub
Linear
Jira
Slack
The problem

Issue triage shouldn’t cost you a sprint.

Backlog tooling collects tickets. Coding agents write code. Nothing connects the two - so seniors spend their best hours re-reading bug reports.

  • Triage is human-bound

    Every Monday a senior reads 40 tickets, reproduces 10, and decides which ones an AI could realistically take. That’s the work - not the coding.

  • Agents work in isolation

    Chat with an LLM, paste a stack trace, copy code back. No history, no learning, no audit trail - and no way to run it again next week.

  • Quality gates live in heads

    “This needs review.” “This one is fine to ship.” Tribal knowledge that doesn’t scale past five engineers and one repo.

How it works

One unit of work. Four deliberate phases.

Issue Sessions encode the actual workflow your team already runs - but with structure, cost transparency, and reruns that just work.

  1. 01

    Capture

    Discover issues with a sandbox scan, or import from GitHub, Linear, Jira, Sentry. The Issue Agent reads code - not just titles.

  2. 02

    Plan

    A Planner persona drafts steps with citations to real files. Questions and assumptions surface before any code is written.

  3. 03

    Execute

    A coding persona runs inside an E2B sandbox with your repo, your tools, and your env. Every command is logged.

  4. 04

    Review

    Judge and Evaluator personas grade the diff against your standards. A human approves, and the agent opens the PR.

Live workflow

See a session move.

Tabs below mirror three moments in a real Issue Session - auto-triage, AI planning, and the agent run itself.

Backlog comes in. Priority comes out.

The Issue Agent scans the repo against the ticket, decides if it’s a one-shot, a multi-step chain, or a human-only task, and stamps it with priority and labels.

auto-triage · live
GH-2841Sign-up flow 500 on Safari 16
P1one-shot
SEN-77Memory leak in /api/sessions runner
P1chain
LIN-104Replace deprecated `Image` import
P3one-shot
JIRA-512Add DE fallback strings to onboarding
P4human
Issue Agent · opus 4 / 4 triaged
Inside an Issue Session

Built like real engineering tools, not a chat box.

Six features you won’t find inside a generic agent chat - because they only make sense inside a structured unit of work.

Persona routing

Issue Agent triages. Planner drafts. Coder ships. Judge and Evaluator gate. Each persona has its own model, thinking budget, skills and tools.

Deterministic reruns

Every session stores its inputs - prompts, repo SHA, env, skills, context version. Rerun any session months later and get a comparable answer.

Checker agents

Judge grades the diff against your standards. Evaluator scores outcomes. Both run automatically before a human sees the result.

Cost transparency

Token cost, sandbox cost, and wall-clock are tracked per session. Set hard ceilings per project so a runaway plan can’t bill into the night.

Webhook hooks

Fire webhooks on session created, planned, completed, killed, or PR opened. Wire your own CI, paging, or Slack - without leaving CodeCourier.

Multi-repo support

One session can span a frontend, a backend service, and a shared package. The agent uses your real repo graph - not a single folder upload.

Programmatic from day one

Same workflow, from your terminal.

Anything you can do in the UI you can also do via the API. Session create, plan approval, run, review, retry - all REST.

POST /v1/issue-sessions
// Trigger an Issue Session from your CI
import { CodeCourier } from "@codecourier/sdk";

const cc = new CodeCourier({ apiKey: process.env.CC_KEY });

const session = await cc.issueSessions.create({
  projectId: "prj_8x2a",
  prompt:    "Scan for auth bypasses in /api routes.",
  repo:      "github.com/acme/web",
  persona:   "issue-agent-opus",
  costCapUsd: 5,
});

console.log(session.url); // → live timeline + token cost

Create a session, attach a plan, and let the agent ship. Streaming events and webhooks keep your tools in sync.

Where teams put it to work

Three workflows seniors stop hating.

Backlog acceleration

Drain a stale backlog without burning your senior bench. Auto-triage tags the realistic 30%, the agent ships the easy ones overnight.

Read the playbook

Customer-reported bugs

Wire Sentry or Zendesk to CodeCourier. The agent reproduces, fixes, and links the PR back to the original ticket - usually before lunch.

Read the playbook

On-call & nights

Sessions run while you sleep. Cost ceilings, kill switches and Judge review mean nothing risky merges without a human in the loop in the morning.

Read the playbook
Issue Sessions are the first time an AI tool has actually given my seniors their afternoons back. The triage half of our backlog drains itself now.
SC
Sarah Chen
Eng Lead · Cohort Labs
FAQ

Senior engineer questions.

How are Issue Sessions different from chatting with Claude or Cursor?
A chat is ephemeral. A session is a record. Every Issue Session captures its prompt, repo SHA, persona config, sandbox image, token cost, and every tool call - so reviewers can audit the work and you can deterministically rerun it months later.
Do you support self-hosted runners?
Yes. By default sessions run inside managed E2B sandboxes. Teams on the Enterprise plan can attach their own runner pool - Kubernetes, EC2, or on-prem - and keep code, secrets and traffic inside their VPC.
How does cost work?
Each session is billed on three axes: model tokens, sandbox compute minutes, and storage. The dashboard shows live cost as the run progresses, and you can set per-project ceilings - sessions are killed automatically when they hit the cap.
Can a human stop a run mid-way?
Always. Any user with project access can kill an in-flight session. Partial output is salvaged - issues already extracted, files already written - so you never lose work, even when the agent goes sideways.
Which repositories do you support?
GitHub today, with GitLab and Bitbucket on the roadmap for Q3. Mono-repos work fine; multi-repo sessions are first-class - link a frontend, a backend and a shared package in one session and the agent reasons across all three.
Get hands on

Run your first Issue Session in under five minutes.

Free for 14 days · no credit card

Hire your first AI engineer.
Ship by lunchtime.

5 minutes to onboard. First PR within an hour. Cancel anytime.