Set up coding agents

iKanban hands work to three coding agents: Claude, Copilot and Gemini. All three run on your laptop, in your repository, with your own sign-in to each agent. You don't create API keys or add GitHub secrets.

Set up once per laptop, in the iKanban desktop app. Sessions you start from the web app, the desktop app or Slack all run there.

Let your coding agent do it: Agent settings → Connections → Coding agents → Copy setup prompt, then paste it into Claude Code, Codex or any coding agent from your repository's folder. It walks through every step below and asks before installing anything. The same prompt is on Agent Setup Prompt. In Claude Code, once This laptop is set up, run /ikanban-agent-setup.

1. Connect GitHub and link the repository

Agents open pull requests on GitHub, so iKanban needs your repository.

  1. Open Agent settings → Connections → GitHub → Connect and sign in to GitHub in the popup. If the repository belongs to an organization, click Grant next to it before Authorize. Without that, GitHub hides the organization's private repositories. If you see Request, an organization owner must approve iKanban.
  2. In the same dialog, Configure lists each team's projects. Click Link next to the project agents work in and pick the repository.

The row shows Needs reconnecting when GitHub has rejected the connection. Click Reconnect.

2. Set up this laptop

In the iKanban desktop app, open Agent settings → Connections → This laptop → Set up:

  1. Repository folder: choose your clone of the repository.
  2. Where its work is tracked: pick your team and project.
  3. Optional: tick Add two lines to this repository's AGENTS.md so Codex finds the iKanban setup prompt. AGENTS.md is your file, so this stays off unless you tick it.
  4. Set up and start.

The app then:

The app starts the runner again every time it opens. Every two weeks, and after you update the app, it also refreshes the skills, prompts and README in .iKanban/. It never touches your key or team settings. The row shows runner online while it runs. If the app is closed, sessions wait as Queued and start when you open it.

3. Sign in to Claude Code

Claude runs with your Claude Code sign-in, under your Claude subscription.

  1. Open a terminal. The iKanban terminal (the panel at the bottom of the desktop app) works.
  2. Run claude auth login and finish signing in in the browser.
  3. Check it: claude auth status --text says you're logged in.

Do this once. The runner uses this sign-in for every Claude session.

4. Sign in to Copilot and Gemini

They run on your laptop the same way, with your own sign-in:

Agent settings → Connections → Coding agents shows each agent as Connected once it's signed in and the runner is online. Sign in next to an agent opens the iKanban terminal with the command typed.

If the runner is offline, a session waits until it's back; it never moves to GitHub on its own. To run on GitHub instead, pick Runs on → GitHub (Copilot then uses GitHub's Copilot cloud agent, which an organization owner enables for the repository).

Approvals and hands-off runs

File edits always run on their own. What happens to a push or a network call on your laptop is your choice, in Agent settings → Runners → Risky actions. It applies from the next run. A new session's Session settings → Policy shows the choice that applies to it.

ChoiceWhat the agent may do without asking
Ask me (default)Nothing risky. Pushes and network calls wait for your Approve or Deny on the session page.
Allow pull requests (recommended)Push its own branch and open the pull request. Pushing to main, force pushes, merging and other network calls stay blocked; your repository's checks decide the merge.
Allow everything (Yolo)Any push or network call. Fully hands-off, but an agent misled by text in a repository or a web page can reach any site and push anywhere it has access.
DenyPushes and network calls are blocked. The agent works locally.

A session waiting for you shows Needs approval in the Sessions list; open it to answer. The session page header shows the same state as its row in the Sessions list, and both change within about 5 seconds when the session ends, with no reload.

Runs on GitHub have no approval step. The agent opens a pull request, often as a draft, and your repository's own workflows review, test and merge it. GitHub's Copilot agent also asks the person who assigned it for a review; that request does not block a merge.

The runner commits with this laptop's git identity. If your global identity is a personal one, set the one you want for the runner's work before you start.

Keep the laptop awake

A laptop that goes to sleep stops its runner, and a job it was running is lost.

Check it works

  1. Start a session with a small read-only task, for example "read README.md and reply with a one-line summary; don't change files". Start it from the agent home, or with @iKanban in Slack.
  2. The session page shows Claude's steps live: files read, commands run, then the answer. In Slack, the thread shows the same progress, then the answer.
  3. If it says Failed, the reason appears under the activity card. Fix the step it names and try again.

Troubleshooting

What you seeFix
Session stays QueuedOpen the iKanban desktop app on the laptop set up in step 2. Connections → This laptop should say runner online.
A session failed or waited while the laptop sleptSee Keep the laptop awake: turn on Keep this laptop awake to keep it awake with the lid closed.
This laptop says runner not runningOpen it and click Start runner. The log is ~/Library/Logs/com.verbodh.ikanban/runner.log on a Mac, %LOCALAPPDATA%\com.verbodh.ikanban\logs\runner.log on Windows, ~/.local/share/com.verbodh.ikanban/logs/runner.log on Linux.
Claude fails with a sign-in or authentication errorStep 3: run claude auth login on that laptop.
GitHub said "Not Found" for owner/repoStep 1: reconnect GitHub and Grant the organization, or link the right repository.
No repository linkedStep 1: Link a repository to the session's project.
Copilot or Gemini fails with a sign-in errorStep 4: run copilot login, or agy and sign in with a personal Google account, on that laptop.
Gemini says actions were blockedAntigravity's rules allow only safe commands (step 4).
Every Gemini tool fails with "failed to unmarshal result from hook"A plugin's hook is broken: agy plugin list, then agy plugin disable <plugin>.

This laptop needs the iKanban desktop app for macOS, Windows or Linux (AppImage or .deb, x64).

Next: Coding Agents for assigning agents from a task, and Agent Lifecycle for what each status means.