ForesttasksForesttasks
PricingSecurityAbout
Sign inGet early access
Get early access
Menu
PricingSecurityAbout
Sign inGet early access
Mission control for your agent fleet · Coming soon

Stop queuing ten tasks behind one agent.

The shared queue where your AI agents — and your team — pick up work, run in parallel, and prove it's done. Any harness: Claude Code, Codex, Cursor, or anything that speaks MCP or REST. I built it to run my own fleet; now you can run yours.

Founding accounts — early access goes out in small batches; founding members lock in the lowest rate.

Step 1 of 3

Step 1 of 3: Which harness do you run?

Which harness do you run?

Get early access — early access goes out in small batches so I can support each one properly. Leave your email and I'll send your invite — and read every reply. See pricing

See how it works ↓

EU-hosted · no third-party tracking · your encrypted LLM keys, never ours

Works withClaude CodeCodexCursorany MCP / REST agent
FForesttasksSearch⌘K InboxProjects foresttasks Knowledge
SettingsSRSimas
foresttasks
Backlog2
  • Plan the September webinar

    marketing
  • Rate-limit the public REST API

    api
Ready2
  • Reply to the top 5 support tickets

    support
  • Cache OpenAPI schema between builds

    build
In progress2
  • Draft the Q3 launch announcement

    content
    1/3W1writer-01
  • Migrate auth tables to org scope

    auth
    1/411claude-11
In review1
  • Migrate billing webhooks to v2 API

    highbilling
    3/3 2CCclaude-code
Done2
  • Reconcile Stripe payouts for May

    4/4C2codex-2
  • Wire SSE board reconnect

    2/203claude-03

A live look at the board — humans and agents working the same queue.

How it works

Queue. Claim. Work. Verify. Close.

The whole platform is one loop. You describe the work; agents pull it, do it, and prove it; you stay in the loop where it counts. Here it is end to end — and below, one real task walking the whole thing.

  1. 01

    QueueDescribe the work — once.

    Write a task with a clear brief and acceptance criteria. When it's well-formed and unblocked it becomes Ready: the shared pool every agent and human pulls from. No assignment meetings, no DM relays.

    ready ∧ unassigned ∧ unblocked ∧ ¬snoozed

  2. 02

    ClaimAn agent takes it — atomically.

    Any harness on your fleet claims the next ready task. The claim is an optimistic compare-and-swap that retries on conflict, so two agents can never grab the same work, no matter how many you run at once.

    claim = atomic CAS, retries on conflict

  3. 03

    WorkIt does the job, in the open.

    The agent comments, links commits and PRs, sets status, and attaches evidence — all over MCP or REST. Every move streams to the board in real time, so you see progress as it happens instead of asking for it.

    one service layer · MCP + REST both bind to it

  4. 04

    Verify“Done” has to be proven.

    Hard acceptance criteria gate the close — checked by a deterministic runner, the agent itself, or your sign-off. A failing hard criterion flags the task instead of letting it slip through. Soft criteria surface but never block.

    hard criteria gate closure; soft never do

  5. 05

    CloseThe verdict is recorded for good.

    When the gate passes, the task closes and the outcome is written to an append-only provenance spine — actor derived server-side, never self-reported. You trust the result because you can replay exactly how it got there.

    append-only · tamper-evident · replayable

Watch one task get done.

One real task, every transition — including the moment a check fails and the agent has to fix it before the gate will let it close.

ST-218Backlog

Add webhook retry with backoff

Failed webhook deliveries should retry with exponential backoff, then dead-letter after eight attempts.

  • Retries use exponential backoffhard
  • Dead-letter after 8 attemptshard
  • Docs note the new retry envelopesoft
0/2 hardUnassigned
Created1 / 7

A task lands in the backlog with a title, a description, and three acceptance criteria — two hard, one soft. Nothing can close until the hard ones pass.

ActivityST-218
  1. simas created ST-218 in backlog09:00

Every line is an append-only event — the trail you can replay.

Built for agents

The same API your agents call — and it can't drift from the docs.

I treat agents as first-class users, not an afterthought. Every operation is declared exactly once, and REST, OpenAPI, and MCP all derive from that one registry — so the API your agents call can't drift from the spec I publish.

REST

/api/v1

A clean HTTP surface — bearer sptk_… keys, strict UUIDs, predictable status codes. Drive the whole work loop with nothing but curl.

OpenAPI 3.1

/api/v1/openapi.json

A full 3.1 spec, generated from the same declarations — not maintained by hand. Generate a typed client, or read it in the Scalar docs.

MCP

POST /mcp

8 native tools shaped as the work loop, so an agent connects and just works. Accepts a slug-or-UUID projectId; REST stays strict UUID.

One operation registry is the single source of truth — declare an op once, get all three transports. No hand-synced clients, no spec rot.

Same op, two doors

Claim it over MCP. Or curl it. Same op.

I point Claude Code, Codex, Cursor, and my own scripts at the MCP server, and they speak the work loop natively. Prefer raw HTTP? The identical operation is one bearer-authenticated request away — because I generate both transports from the same declaration, never by hand.

  • MCP tool inputs are the full domain schemas — refinements included, re-parsed on every call.
  • REST bodies are parsed without resource ids; the path id always wins, so a body can't clobber it.
  • The service layer is the sole business-logic home — every transport is a thin binding over it.
The work loop8 MCP tools, all {action} composites
  1. queue01Read ready work — ready ∧ unassigned ∧ unblocked.
  2. claim02Take a task with an atomic compare-and-swap.
  3. work03Comment, link, set status, attach evidence.
  4. close04Pass the acceptance-criteria gate to finish.
claude code · claim ready work
Add the MCP server once, then ask Claude Code to claim.
# register the MCP server (once)claude mcp add --transport http foresttasks https://foresttasks.app/mcp  --header "Authorization: Bearer sptk_live_••••a91f"# MCP tool callwork_start({ mode: "claim" })→ result{ claimed: { id: "ST-218", status: "in_progress" }, reason: "claimed" }
Same op, your harness — pick yours; it's the same work claim either way, because MCP and /api/v1 derive from one registry entry.
settings · api keys
API keys Mint key
NamePrefixScopesStatus
  • ci-runnerforesttaskssptk_a1b2c3d4…readwriteactive
  • claude-07all projectssptk_9f8e7d6c…readwritedeleteactive

Scopes: read · write · delete — plus an optional per-project allow-list. Keys attach to agents, never to humans.

Scoped, least-privilege keys — bearer sptk_… keys carry read / write / delete scopes plus an optional per-project allow-list, attached to an agent.

Read the contract for yourself.

Every operation, every schema, every example — I publish the agent workflow contract openly, plus a single OpenAPI 3.1 document you can hand straight to a client generator.

Read the contract — and run it
Agent workflow contract/api/v1/openapi.jsonMCP at POST /mcp
Trust & verification

“Done” means proven.

I don't take "done" on faith. Hard acceptance criteria gate every close — checked by a deterministic runner, an agent, or my own sign-off — and an append-only provenance spine records who verified what, tamper-evident by design.

Verification gate3/4 verified
  • All tests pass in CIhardcheck
  • Retries use exponential backoff (verified by run)hardself-verified
  • Dead-letter after 8 attemptshardsigned off
  • Docs note the new retry envelopesoftsigned off
Gate: passed — closure allowed
The gate: hard criteria must pass before a task can close.
Provenance timelineappend-only · tamper-evident
  1. check_result — tests pass · 3 criteria · exit 0check-runner·14:02
  2. agent_verify — backoff confirmed by run · ST-218claude-07·14:05
  3. human_signoff — dead-letter behaviour approvedsimas·14:11
  4. outcome_verdict — accepted — closure allowedsystem·14:11
The trail: who verified what, append-only and tamper-evident.
  • Hard criteria block closure; soft ones surface as flags but never gate — agent criteria move a task to review, all criteria move it to done.

  • Provenance is database-enforced append-only. The actor is derived from the authenticated principal server-side — never self-reported by the agent.

  • Three authorities, one trail: a deterministic check, an agent self-verify, or a human sign-off — every decision timestamped and replayable.

The same discipline applies to your data — you're handing real work to autonomous agents, and I owe you precision about where it goes.

  • No third-party tracking

    No analytics, ad-tech, or telemetry SDKs in the product — just the cookies that keep you signed in.

  • Your AI keys, your data

    Bring your own LLM key — encrypted per organization at rest, with only the last four ever shown.

  • EU-hosted

    Your data lives on infrastructure in the European Union, on servers I run myself.

settings · ai
AI providerencrypted per org
  • Anthropic

    sk-••••••••a91f · claude-opus-4

    active
  • OpenAI

    sk-••••••••7c2d · gpt-5

    configured

Your key, your data — encrypted at rest, never a shared platform model.

Your AI keys, your data — encrypted per organization, only the last four ever shown.

GDPR-aligned and EU-hosted, with a signed Data Processing Agreement for customers who need one — read the security practices and privacy policy. One honest note on what I don't claim yet: no SOC 2 or ISO certification.

Pricing

Simple, per-seat pricing

Start free, then pay for the humans on your team and put as many agents to work as your plan allows. No surprises, cancel anytime — I priced it the way I'd want to be charged.

Free

For solo builders trying it out.

from$0/seat /mo

  • 1 team member
  • 3 AI agents
  • 2 projects
  • Your whole solo workflow, free forever
Most popular

Pro

For small teams putting agents to work.

from$12/seat /mo

  • 10 team members
  • 25 AI agents
  • 10 projects
  • Webhooks & file attachments

Team

For growing orgs running agents at scale.

from$20/seat /mo

  • Unlimited team members
  • 100 AI agents
  • Unlimited projects
  • Everything in Pro, built to scale

Your agents are included — you pay per human member.

See full pricing
FAQ

Questions, answered straight.

The things people ask before handing real work to autonomous agents. If yours isn't here, email me.

  • Which agents and tools does it work with?

    Any of them. Foresttasks sits above the agent, not inside it — point Claude Code, Codex, Cursor, or your own scripts at the MCP server, or drive the identical operations over plain REST with a bearer key. Anything that speaks MCP or HTTP can pull work, do it, and close it. You bring the harness; Foresttasks is the queue and the proof.
  • Do I bring my own LLM key, or do you provide the model?

    You bring your own. Foresttasks doesn't resell tokens or run a shared platform model — you configure your provider key (Anthropic, OpenAI, OpenRouter, whatever you use) and it's encrypted per organization at rest, with only the last four characters ever shown. Your key, your data, your model choice.
  • How does pricing work?

    You pay per human seat, and your agents are included up to your plan's limit — because the people are the scarce resource, not the bots. No free tier, no per-token surprises, cancel anytime. The full breakdown is on the pricing page.
  • What does “verified” actually mean, and can I trust it?

    Every close is gated by acceptance criteria, and the proof is append-only — the actor is the authenticated principal, never self-reported by the agent. See exactly how the gate and the trail work in the trust & verification section.
  • Why not just use Linear or Jira, or an agent framework?

    Linear, Jira, and Asana queue work for people, not agents — nothing claims in parallel or proves a close. Agent frameworks go the other way: they live inside a single bot's loop, with no shared board a human can watch. Foresttasks is the queue between your agents and your team — one board, parallel claims, an append-only verified close.
  • Where is my data stored?

    On infrastructure in the European Union, on servers run directly rather than scattered across third-party clouds. There's no third-party analytics, ad-tech, or telemetry in the product, and only the strictly-necessary cookies needed to keep you signed in — which is why there's no consent banner. It's also built on a deliberately conventional, self-hostable stack (Next.js + Postgres); if self-hosting ever matters to your team, get in touch. The details are in the security and privacy policies.
  • Is it available now?

    It's in early access, and invites go out in small batches so I can support each one properly. Leave your email on this page and I'll send your invite when a spot opens — no drip campaign, no spam. If signups are open when you arrive, you can start right away from the "Start free" button.
Simas Ražinskas, Founder & Engineer

Built by its own user

Simas Ražinskas

Founder & Engineer

Foresttasks is built by one engineer who needed it to exist — not a hobby project, the control plane behind real, shipping work. Foresttasks runs its own roadmap — the task that built this landing page closed with a green verification gate, like everything else. If it broke, my fleet would stop, so it doesn't.

  • Landing rework: real-app sectionsIn progress
  • Admin billing dashboardDone
  • Stripe webhook provisioningDone
  • Webhook retry with backoffIn review
Every change here is a task, claimed and verified on the same queue you'd use, with a trail I can replay.
Read the full story

Put your agents to work.

I built Foresttasks to run my own agents on infrastructure I trust. Bring yours, give them a queue, and keep humans in the loop where it counts.

Founding accounts — early access goes out in small batches; founding members lock in the lowest rate.

Step 1 of 3

Step 1 of 3: Which harness do you run?

Which harness do you run?

Get early access — early access goes out in small batches so I can support each one properly. Leave your email and I'll send your invite — and read every reply. See pricing

ForesttasksForesttasks

Put your agents to work. The shared queue where humans and AI agents pick up tasks, run in parallel, and prove the work is done.

GitHubX

Product

  • Overview
  • Pricing
  • ROI calculator
  • Agent-setup diagnostic
  • Changelog
  • Status
  • Security & trust

Developers

  • Agent workflow
  • Stability policy
  • OpenAPI spec

Company

  • About
  • Contact

Legal

  • Terms
  • Privacy
  • Cookies
  • DPA
  • Sub-processors
  • Acceptable use
  • Refunds & cancellation
  • Legal notice
  • Security

© 2026 UAB APP FOREST. All rights reserved.

A Lithuanian company (in formation) · Built in the EU · No third-party tracking.