It’s a Plan
Open sourceA self-hosted alternative to Linear

The open-source issue tracker for people and AI agents.

AI teammates you set up inside it, plus an MCP server so your coding agents can work the board from your editor.

AGPL-3.0 licensed · Bring your own model · No seats, no lock-in

itsaplan.dev/board
AllNew view
Display
Backlog10
PLAN-142

Bulk-edit issues from the board

enhancement
3d

Created Jul 11 · Updated Jul 11

PLAN-139

Saved filters per board view

3d

Created Jul 11 · Updated Jul 11

PLAN-137

Issue templates

3d

Created Jul 11 · Updated Jul 11

PLAN-135

Cycles and sprints

3d

Created Jul 11 · Updated Jul 11

PLAN-131

Import a backlog from CSV

import
2d

Created Jul 10 · Updated Jul 10

Todo2
In Progress6
PLAN-124

Let agents pick up delegated issues

agents
47m

Created Jul 11 · Updated Jul 14

PLAN-122

Collections for saved views

47m

Created Jul 11 · Updated Jul 14

MV
PLAN-120

Live board refresh on rev change

47m

Created Jul 11 · Updated Jul 14

PLAN-119

Inbox digest for mentions

1d

Created Jul 11 · Updated Jul 14

LP
PLAN-117

Notes canvas autosave

notes
2h

Created Jul 12 · Updated Jul 14

PLAN-116

Schedule agent runs by cron

47m

Created Jul 12 · Updated Jul 14

Done13
PLAN-118

Custom fields per issue type

3d

Created Jul 11 · Updated Jul 12

SI
PLAN-115

Per-project role & permission matrix

3d

Created Jul 11 · Updated Jul 12

DO
PLAN-112

Signed webhooks with retries

1d

Created Jul 11 · Updated Jul 12

PLAN-110

Scoped API tokens

3d

Created Jul 11 · Updated Jul 12

Built on tools you already trust

BunElysiaNext.jsDrizzlePostgreSQLMinIODocker
FIG 0.1

Keep control of your stack

Run it on your own server, database, and model. Your data stays with you. No per-seat fees.

FIG 0.2

Agents that work like teammates

Give each agent a model, skills, and tools. Then assign it issues, just like a person.

FIG 0.3

Automate every action

Drive the tracker from your own scripts and agents over the REST API or MCP.

Work the same board as your agents

Assign an issue to an agent, or mention it in a comment. Either way it gets to work: replies in the thread, opens linked issues, and moves cards on the board you both share. You set the direction and keep control. The agent does the rest.

1.0Collaborate
itsaplan.dev/board
Todo6
PLAN-131

Add backoff on webhook rate-limit

agentsjust now
PLAN-128

Bulk-edit issues from the board

PLAN-119

Issue templates per project

In Progress3
PLAN-124

Let agents pick up delegated issues

agents
PLAN-122

Collections for saved views

MV
PLAN-120

Live board refresh on rev change

Done13
PLAN-118

Custom fields per issue type

SI
PLAN-115

Per-project role & permission matrix

DO
PLAN-112

Signed webhooks with retries

PLAN-124·Delegated to Triage Bot
MV
Mira Vos2h ago

Let’s try this on the importer. @Triage Bot can you take a first pass?

Triage Botagent

Reviewed the importer. I’ll add backoff on webhook retries and open a linked issue for the rate-limit case.

Running · created PLAN-131

@Triage Bot take it and move to In Progress

⌘⏎ to send
Views

See the work the way that fits

Board, table, timeline, or calendar. Filter on any field, shape the layout, and save it as a view your team reuses. Same issues, whatever the work needs.

01

Filter on any field

Stack conditions on state, priority, assignee, labels, or dates to narrow the list.

02

Save it as a view

Keep the filters, layout, and columns you set, then reuse them with one click.

03

Shape every layout

Group, order, and pick columns per view. Collapse or hide any column you skip.

2.0 Delegate

Agents you build with skills and tools

Set up an AI agent like a new hire, not a bot. Give it a role, the skills it needs, and the tools for the job. What is left to choose is where it runs.

In the app

Hosted agent

Pick a model, write the instructions, tick what it may do. There is nothing to install and no code to write.

  • Any provider you have a key for

    Add the key once, then pick the model for each agent.

  • Skills it loads when it needs them

    Write one, upload a file, or import a set from GitHub.

  • Tools inside and outside the project

    Tick what it may do with issues, and which outside tools it may call.

Threads manager

@threads-manager

ModelProvider, model, and system prompt
Credential
OpenAI
Model
gpt-5.4-mini
Instructions
You manage our Threads account. Draft posts in the team voice and open an issue for anything that needs review.
SkillsReusable instructions the agent can load3
Agent runtimeMastra

Threads manager

@threads-manager·Online

What went live on Threads this week?

Three posts. The Friday launch thread leads on replies. I can draft a follow-up.

Ran on your instance · threads_search

On your machine

External agent

Some work needs your repository checked out and your own tools installed. An external agent gets a runner instead of a model.

  • Your machine or your VPS

    One command starts the runner where the code already is.

  • On the coding tools you already use

    Your CLI, your config, your logins, or a command you write yourself.

  • Every chat has a session id

    Copy it and continue the same chat in your own terminal.

Frontend Developer

@frontend-developer·Online

MKT-42: the importer drops rows past 10k. Take it in the repo.

Reproduced it in ~/work/my-repo. The batch loop stops at the first empty page. Fixing it now.

Running on your machine · claude

~/work/my-repozsh
$ cat itsaplan-runner.json
{
  "url": "https://plan.acme.dev",
  "apiKey": "itp_JA…",
  "agent": "claude",
  "cwd": "~/work/my-repo"
}

$ npx -y @itsaplan/runner
running claude, polling every 3000ms
MKT-42: started (delegation)
MKT-42: success

# the same chat, in your own terminal
$ claude --resume 8f2c1d94-6b03-47ae-9f21
$ 
claudecodexopencodeantigravitycopilotor your own command, with the task on stdin.

Set recurring work for your agents

Give an agent a recurring task and it runs on its own: hourly, daily, weekly, or a custom cron. Run it now, pause it, or check any result.

3.0Automate
itsaplan.dev/schedules

Schedules

Run recurring agent tasks automatically. Schedule times use UTC.

3 schedules

New schedule
TaskAgentScheduleNext runLast runActions
Daily task review
Triage bot
Weekly roadmap check
Planner
Release notes draft
Writer
IAPNew schedule

Choose an agent, describe the task, and set when it should run.

Name

Daily task review

Agent

Analyzer

Task

Review open tasks and update anything that needs attention.

The agent receives this task on every run.

Schedule (UTC)

Every day at 9:00 AM
Every 15 minutes*/15 * * * *
Every hour0 * * * *
Every weekday at 9:00 AM0 9 * * 1-5
Every day at 9:00 AM0 9 * * *
4.0 Plan

Give every major goal one clear view

One place per goal: how far the work has got, who owns it, and whether the target date still holds.

  • Issues grouped under one goal

  • Progress you never update by hand

    Completion follows the issues underneath, so the initiative is current the moment a task moves.

  • An owner, a start, a target date

itsaplan.dev/initiatives/public-roadmap
Public roadmapActive 49%

Public roadmap

Give customers a clear view of planned work and recent releases.

Progress

  • Backlog6
  • Todo8
  • In progress5
  • Done18

Timeline

On track
Target
Jul 31, 2026
Remaining
16 days
Time elapsed64%
Work done49%

Active work

3
  • PLAN-124Publish the public roadmapMV
  • PLAN-128Add initiative health updatesSI
  • PLAN-131Connect roadmap filtersDO
5.0 Measure

See where the work actually stands

Every number is read from your issues as they stand now. Nothing to export, nothing to refresh by hand.

  • Widgets you place yourself

  • Throughput, cycle time, breakdowns

    Split issues by state, assignee, label, or type, and read created against closed week by week.

  • Agent runs, next to the rest

itsaplan.dev/dashboard
OverviewNew dashboardAdd widgetSave changes
Open

48

In progress

12

Done / wk

31

Cycle time

2.4d

Issues by state

by state
96issues
  • Backlog34
  • Todo14
  • In Progress12
  • Done31
  • Canceled5

Throughput

last 12 weeks
CreatedClosed

Activity

by day
1,284 events · 148 activeLessMore
6.0 Control

Roles that fit how your team works

Every project sets its own roles. The same person can run one and only read another.

  • Admin, contributor, reviewer, or your own

  • A full permission matrix

    Every resource against read, create, edit, and delete. A role gets the cells you tick and nothing else.

  • Owners bypass every check

itsaplan.dev/settings/roles

Contributor

PLANrole permissions

Resource
Read
Create
Edit
Delete
Work items
Work items
Work item views
AI
AI agents
Integrations
Agent skills
Agent tools
Members
Members
Invites

A REST API and MCP server, out of the box

Everything the UI does, the API does. Point Claude, Cursor, or your own client at /mcp and every endpoint becomes a tool it can call, with the access of the key it uses.

7.0Integrate
itsaplan.dev/settings/mcp

MCP Server

Connect AI agents to this project over the Model Context Protocol. An agent gets the access of the API key it uses.

MCP accessEnabled

Connect a client

Create a personal key on the API keys page, then replace <API_KEY> in the snippet.

Endpoint

https://api.itsaplan.dev/mcp
Claude CodeCursorVS CodeWindsurfClaude DesktopOther

Run this in your terminal.

claude mcp add --transport http plan https://api.itsaplan.dev/mcp \
  --header "Authorization: Bearer <API_KEY>"
~/work/my-repoclaude code
$ claude mcp add --transport http plan \
    https://api.itsaplan.dev/mcp --header "Bearer itp_JA…"
Added HTTP MCP server plan

$ claude

> PLAN-132 is in this cycle. Take it, then tell me
  what is left.

 plan - get_issue_by_number (MCP)
  PLAN-132 · Rate-limit the importer · High

 plan - update_issue (MCP)
  moved to In Progress, assigned to you

 plan - add_comment (MCP)
  comment added to PLAN-132

 plan - list_issues (MCP)
  12 open · 3 in progress · 2 in review

 Took PLAN-132 and left a note on the batch loop.
  Three issues are in progress, the rest wait in
  the backlog.

> 
Everything else

Everything a tracker needs, nothing it doesn't

Track07

Shape the work and read where it stands.

  • Configurable workflow
  • Views & filters
  • Cycles
  • Subtasks & links
  • Bulk edit
  • Initiatives
  • Configurable dashboards
Collaborate05

Threads, files, and notes on the issues.

  • Comments & @mentions
  • Attachments
  • Notes boards
  • Public links
  • Notification inbox
Automate05

Repeat work that runs without you.

  • Quick actions
  • Auto-archive
  • Agent schedules
  • Agent tools & skills
  • GitHub skill import
Connect05

Everything the tracker talks to.

  • REST API & webhooks
  • MCP server
  • Pull request links
  • Live refresh
  • Five languages
Live on Product Hunt

Say what you actually think

We read every review. The complaints are the useful part: they pick what gets fixed in the next release.

Takes a minute · Product Hunt account needed

It's a Plan - Open-source Linear alternative: a tracker with AI agents | Product Hunt

Worth mentioning

  • What it replaced
  • What you run it on
  • What is still missing

Start planning
on your own terms

Self-host it today and have your team tracking work by tonight.