Self-hosted AI coding agent for Slack, Linear and GitHub

Bring Claude Code, Codex, or Cursor to Linear, GitHub, GitLab, and Slack. Assign an issue to Miko or just @Miko. Get progress, answers, and pull requests back in your workflow.

engineering

3
Messages
Today
Nexmoe

@Miko A retried webhook creates a second task. Reproduce it, make processing idempotent, and add a test.

👀 1
MikoAPP

I found the duplicate delivery path. I’m adding an idempotency check and regression coverage.

Nexmoe

Also cover an empty payload.

MikoAPP

The fix and tests are ready. Review the branch before merging.

GitHub
Fix duplicate tasks on webhook retriesReady for review Checks passed
🙌 1

Interactive preview · messages stay in this demo

Integrations

Assign an issue to Miko in Linear. Or @Miko in Slack, a GitHub PR, or a GitLab MR. Your chosen coding agent works in an isolated workspace and brings progress and results back to the conversation.

Slack

@Miko in a thread

Linear

Assign to Miko

GitHub

@Miko in a PR

GitLab

@Miko in an MR

Zulip

@Miko in a topic

Supported agents

Claude Code, Codex, Cursor, and Grok run the coding work. Gemini and OpenCode are supported too.

Claude Code

Codex

Cursor

Grok

Gemini

OpenCode

  1. Assign an issue or @Miko
  2. Miko + your coding agent
  3. Progress, answers & pull requests

Put Miko to work on your code

Hand off an issue, @mention Miko, or put the work on a schedule. Your coding agent investigates, implements, and checks it in its own workspace, then brings the result back for review.

Give Miko a task where you work

Assign a Linear issue or @mention Miko in a connected conversation. It picks up the task and repository context so your coding agent can get started.

Slack # engineering

@Miko Fix duplicate webhooks.

MikoPicking up your taskWorking
Your conversation + your repository

Keep each task in its own workspace

Miko creates a separate Git worktree for each task. A bug fix, a feature, and a documentation update can move forward without mixing their changes.

Your repository
Webhook fixfix/webhooks
Dark modefeat/dark-mode
Setup docsdocs/setup
Separate changes. Moving in parallel.

Change the brief with a reply

Forgot an edge case? Add it to the conversation. Miko picks up your follow-up and continues the same task with its existing context.

You

Also test empty payloads.

Miko

On it. Adding that case to the webhook fix.

Same taskWebhook fix Working

Get a pull request back

Miko writes the code, runs the configured checks, and opens a pull request with a summary. You review the changes and decide what ships.

Implemented Tested PR opened
Fix duplicate webhooks3 files changed +42 −8
✓
Ready for your review

Put work on a schedule

Choose when it runs: a single time, every day, weekly, or a cron schedule. At that time Miko does the task and brings the result back for review.

09:00Every day
MikoReview pull requests
Ready for your review

Again tomorrow at 09:00

Read it on your board

Select the task on the local board. Its tool calls, checks, and final result stay there for you to read.

Fix duplicate webhooksTurn completed
Read handler.tsTest 28 passedResult Ready for review

Workflows

Fix duplicate tasks on webhook retries

A retried webhook creates a second task. Reproduce it, make processing idempotent, and add a test.

Acceptance criteria

Also cover an empty payload.

GitHubFix duplicate tasks on webhook retries#857

Activity

Miko· 17h ago

The fix and tests are ready. Review the branch before merging.

Pull request ready for review
nexmoe delegated the issue to Miko
Show 2 earlier activities
Miko · I found the duplicate delivery path. I’m adding an idempotency check and regression coverage.18 hours ago
Miko changed status from Backlog to In Progress19 hours ago
Nexmoe created the issue19 hours ago
  • Fix duplicate tasks on webhook retries

    Turn a report into a fix. Investigates the repository, implements the change, runs checks, and returns a pull request for review.

  • Add a persistent task status filter

    Keep small features moving. Give Miko acceptance criteria and let it work through implementation, checks, and a pull request.

  • Handle null states from the PR review

    Continue in the review thread. Mention your configured agent in a GitHub PR or GitLab MR to request the next change.

  • Cover invalid configuration reloads

    Cover the overlooked cases. Ask for tests around a concrete behavior using your project’s existing patterns.

  • Explain repository routing

    Get answers grounded in code. Investigate how a system works before deciding what to change.

  • Extract shared event validation

    Make room for the next change. Delegate bounded cleanup and review the diff and checks before merging.

  • Update the setup guide

    Keep the docs close to reality. Trace the implementation and update setup steps and configuration examples.

  • Validate incoming API requests

    Move independent work forward. Tasks get separate Git worktrees and can be routed to different repositories.

From issue to work you can review

Miko / BoardDemo workspace
Miko board with fictional demo data. Tasks and logs shows the task list, activity timeline, tool calls, and completed agent turns.

Miko Board in action. Tasks, logs, and scheduled automations shown are demo data.

Self-hosted & BYOK

Miko is a self-hosted coding agent. You run the worker on your machine or server, and model usage stays on your account.

Your agent

Chooseyour runner

Use the coding agent that fits your work.

Includes:

  • Claude Code, Codex, Cursor, Grok
  • Gemini and OpenCode
  • Repository-level configuration
  • Provider-specific model selection
  • Your existing coding workflow

Your credentials

BYOKyour account

Model usage stays with your provider.

Includes:

  • Supported API keys or subscriptions
  • Your provider’s usage limits
  • No bundled token allowance
  • Your account and billing
  • Provider authentication required

Your infrastructure

Localyour machine

Run the worker on your own machine or server.

Includes:

  • Apache 2.0 source
  • Isolated Git worktrees
  • Repository routing
  • Local status board and history
  • Searchable task logs

FAQs

A self-hosted background coding agent that connects your tools to coding agents and returns work for you to review.

Claude Code, Codex, Cursor, Grok, Gemini, and OpenCode. Configure your runner and model with supported provider credentials.

Add the setup skills with npx skills add mikoagents/miko -g, then run /miko-setup in your coding agent. It guides installation and connections.

Assign a Linear issue to Miko, or @Miko in a GitHub PR, GitLab MR, or Slack conversation. Connect each integration during setup; use the bot handle you configured.

Bring your own supported API credentials or subscription authentication. Provider usage and hosting costs are yours. The source is Apache 2.0.

Tasks run in separate Git worktrees. Repository routing sends work to the configured repository, keeping working directories apart.

On your machine or server. The selected coding provider processes requests under your configured account. Follow tasks and searchable logs on the local status board.

Get Miko running.

One prompt for your agent. Then your first task, and the logs on the board.

  1. Paste this to your agent

    Copy it into Claude Code, Codex, Cursor, or your coding agent. It tells the agent what to do first, then what to do next.

    Set up Miko for me. Do these in order. First, install the setup skills by running this in the terminal: npx skills add mikoagents/miko -g Then run /miko-setup in this chat. Guide me through the rest: check prerequisites, install Miko from source, connect my coding credentials, add my repositories, and help me launch it. I will sign in and approve access when you ask.
  2. Give Miko its first task

    Assign a Linear issue, or @Miko in a configured GitHub PR, GitLab MR, or Slack conversation.

    Keep the worker and any tunnel running so new tasks can reach Miko.

  3. Read the logs on the board

    Open this address on the machine running Miko. Select the task and follow its live log.

    http://127.0.0.1:3456/board

Installing the skills adds the setup workflow. Running /miko-setup installs the runtime. You sign in and approve access to your accounts during setup.