What shipped, when.
A dated record of everything Weft has shipped. Subscribe via the RSS feed below if you want to be pinged on updates.
Access tokens, for the AI clients that cannot sign in through a browser
Most assistants connect to Weft over OAuth and never see a secret — that is still the way in, and it is still better. But a whole family of clients has no OAuth at all: they take a URL and a header, and that is the whole of their authentication. Until today those clients simply could not reach Weft. Now you can mint an access token in Settings and paste it into them.
- Settings → Access tokens: name it, pick an expiry (30, 90, 365 days or never), copy it once. It is shown exactly once — Weft stores only a hash, so nothing and nobody can show it to you again.
- Revoking is one click and takes effect on the next call. The calls a revoked token already made stay in your history instead of vanishing with it.
- No plan gate. A token is how you connect, not a feature of the board, and connecting has always been free on every plan.
- A token can do everything your account can — there are no scopes yet, so a read-only token is not something you can make today. What it cannot do: sign in to the website, change billing, or reach a workspace you are not a member of. The full story is at /docs/access-tokens.
- Use one token per client rather than one for everything: revoking is per token, and the last-used line then tells you which client is actually working and which one merely connected.
Nine more AI clients, and the setup page each of them was missing
Two groups. Five clients that authenticate with a static header — the ones the access tokens above were built for, most of them from the Chinese AI labs. And four more that were simply next: an open-source terminal agent, a Sourcegraph one, AWS's CLI, and the desktop client that puts every model behind one window.
- DeepSeek Harness, Trae, Qoder, CodeBuddy and iFlow CLI — all five reach remote MCP servers with a header and no OAuth. iFlow and CodeBuddy are verified end to end against production; the other three are written from their documentation and say so.
- opencode, Amp, Amazon Q Developer CLI and Cherry Studio. opencode registers itself over OAuth with nothing to fill in — verified live. Amazon Q takes the same endpoint and the same OAuth as Kiro.
- Thirty-three clients with setup pages now, each with the exact command or config file, where it lands, and what "it worked" looks like.
- Which one are you missing? support@letsweft.com — a person reads that address, and a page is a day of work, not a quarter.
Kimi Code CLI, and a reconnect that used to fail silently
Moonshot's terminal agent connects to Weft: one command, a browser sign-in, and your board is in the shell. Adding it turned up a bug of ours that had nothing to do with Kimi — reconnecting a terminal client could die after a successful sign-in, with an error most people would read as Weft being broken. Both are done.
- Kimi Code CLI: `kimi mcp add --transport http --auth oauth weft https://letsweft.com/api/mcp`, then `kimi mcp auth weft`. No client ID to fill in anywhere — Kimi registers itself during the handshake. Guide at /kimi-cli.
- The fix: terminal clients catch their sign-in on a port they pick fresh each run, and we were insisting on the port they first registered. So the first connection worked and a later one landed on "invalid redirect" with the sign-in already done. Any loopback port is accepted now, which is what the standard asked for all along.
- If you gave up on a reconnect in the last few weeks, it is worth one more try — that failure is gone.
Eleven more AI clients, each with its own setup guide
Weft works with any assistant that speaks MCP, but "it should work" is not an instruction. Eleven clients now have a page of their own with the exact config, where the file lives, what plan it needs and what to ask first.
- New guides: VS Code, GitHub Copilot CLI, JetBrains (through Junie), Kiro, Warp, goose, Raycast, Perplexity, Grok, Mistral Le Chat and Meta Muse Code.
- Four OAuth bugs found and fixed along the way, all of them in the last step of sign-in for terminal clients — the kind that leaves someone looking at an error instead of a board.
- The machine-readable lists at /llms.txt and /.well-known/mcp.json are now derived from the same source as the pages, so they cannot fall behind again.
Weft in twenty languages, and prices that match where you live
German, French and Japanese landed, then fourteen more: Chinese (simplified and traditional), Korean, Italian, Dutch, Polish, Czech, Swedish, Turkish, Russian, Hindi, Indonesian, Vietnamese and Arabic — right-to-left included. The site, the docs, the emails and the app all speak them.
- Twenty languages in total. Pick yours in Settings; the choice follows you into emails and notifications, not just the page you are reading.
- Prices are quoted in your own currency where there is one — euros, pounds, reais, Canadian dollars, yen — and in the EU the number you see is the number you pay, with VAT in it.
- Six EU countries outside the eurozone were being quoted in dollars. They are in euros now. That was a bug, not a preference.
- Nothing about what a seat costs changed: $7 a month or $60 a year, and the local figures are that same price converted, with tax shown where tax is charged.
Weft speaks Portuguese and Spanish
The first two languages after English, and the whole product came with them: the site, the board, the docs, the legal pages and the emails. Prices moved with them too — reais in Brazil, euros in Spain, each with local tax already in the number.
- Portuguese (Brazil) and Spanish, end to end rather than a translated landing page with an English app behind it.
- The language you pick is remembered on your account, so email and push arrive in it as well.
- Pix is on the way for Brazilian cards; card payment works today.
One price per seat, whatever the size of your team
The yearly plan used to cost less per seat as a team grew: $60 for one, $58 at two, down a dollar a seat to $50 at ten or more, applied to everybody at once. It took a ten-row table on the pricing page, a worked example under it, a clause in the terms and a line in the seat dialog to explain — and it saved a five-person team $25 a year. That is a worse trade than it looked. A seat is $7 a month or $60 a year now, at every team size.
- Add a teammate, add $7 a month — or $5 a month if you pay for the year. That is the whole pricing model; there is no table to find your row in.
- Monthly is unchanged at $7 a seat, and a single seat is unchanged at $60 a year. Yearly still saves 29%.
- Bigger teams pay more per seat than the old schedule gave them: a ten-seat team on yearly was $50 a seat and is now $60. Teams already on the old schedule keep their rate — nothing reprices on its own, and it only changes if you change your seat count, where the new rate is shown before you confirm.
- Seats are still pro-rated the day you add them, and adding one no longer moves anybody else’s price.
Pro gets wider at the same price — and three of those things leave Free
Four capabilities have been running in Weft for weeks and were named on no pricing page anywhere: an archive that remembers everything, CSV import, a trash you can undo, and work memory — what your agents learned, kept and consolidated between sessions. They are part of Pro now, at the price Pro already was. Three of them also worked on Free until today, and as of today they do not. That is a trial, not a decision we are hiding: what it costs you, what it does not touch, and how to tell us it was the wrong call are all below.
- Work memory: the facts, preferences, constraints and lessons your agents write down while working, handed back to them as context on the next task — and invalidated by date rather than deleted, so a stale note stops being quoted instead of quietly disappearing. It has been running since August. Nobody was told.
- Unlimited history: the archive remembers everything, forever, and nothing is ever purged from it. Free reaches thirty days back, which is what Free has always done — this line is not a change, it is a thing that was true and unsaid.
- CSV import: bring a whole export across from Linear, Jira, Notion or Trello at /board/import — map the columns once and the batch lands in a single transaction.
- A trash you can undo: deleting a task has always been reversible for thirty days. Deleting still works on every plan and always will — it is the only way to delete anything, and on Free it is also how you get back under the fifty-task cap. What Pro buys is the way back.
- What this costs you if you are on Free: the CSV importer, restoring from the trash, and work memory stop working today. Your agents will not write new notes, and the ones already on your board are not served back to them. Nothing was deleted — every note, every task, every trashed card is still there, and upgrading shows them again.
- What it does not touch: your AI can still land a whole batch of tasks in one call on any plan. Only the web importer is behind Pro; the bulk_create_tasks tool your assistant uses is not, because pushing agents back onto one call per task would spend your monthly quota to make a point.
- And exporting your own data is not behind anything, on any plan. Leaving with what you wrote is not a feature you buy.
- If this took away something you were relying on, say so: support@letsweft.com. It is a trial, one setting turns it off for everybody, and a person reads that address.
Your agents can now reach you on your phone
Mobile 1.4.0 is live on the App Store and Google Play. The Inbox — where finished agent work waits for your verdict and agent questions wait for your answer — used to exist only on the web, so an agent could finish in a minute and then wait hours for you to be near a laptop. Now the queue is in your pocket, and your phone tells you the moment something actually needs you.
- The Inbox on your phone: approve finished work, send it back with a note, or answer an agent’s question from wherever you are.
- Push notifications when an agent is waiting on you — for the two things worth interrupting you for: finished work to review and questions that block progress.
- The Done column now shows your latest finished work on top, so checking what happened today no longer means scrolling past last month.
- Send feedback to the maker straight from Settings — it lands in front of a person.
- Small fixes, including the way back to the board from the Team screen.
The Inbox: your agents’ work now waits for your verdict, not in a column
Agents finish work faster than anyone can check it, and "done" from an agent is a claim, not a fact. The Inbox is where those claims queue for you: every finished task arrives with a receipt — what was done, the evidence, what was explicitly NOT done — and waits for your accept, redo, or drop. Questions agents cannot answer for themselves land in the same place. Your attention is the scarce thing; Weft now treats it that way.
- Finished agent work goes to Review, not straight to Done — with a receipt: outcome, artifacts you can check without trusting the report, claims, and what was left undone, said out loud.
- Accept, send back with a note, or drop — each verdict is recorded, and what your agents learn from it feeds their track record.
- Agents can ask you a real question mid-task instead of guessing or dying quietly — it waits in the Inbox with options, and the answer goes back to whichever AI client asked.
- How fast your answer reaches the agent depends on its client — and clients declare this themselves when they connect. Claude Code, Cursor, Codex CLI and Antigravity support live in-call forms, so an agent there can wait while you answer; Claude Code also asks with its own native option cards. ChatGPT and claude.ai on the web don’t support forms: the agent asks in chat, and an answer given from the Inbox reaches it with your next chat message — or immediately, if you tell the agent you already answered in the app.
- A queue limit on your attention, not on the work: when too much finished work is already waiting on you, new claims are routed toward clearing it first.
- Client-agnostic by construction: the routing lives on the board, not in any client, so finished work lands in Review whichever assistant did it. Claude, ChatGPT, Cursor and Codex all connect to Weft boards today.
The phone app catches up: every workspace, your team, and sprints you can archive
Mobile 1.3.0 closes the gap with the web. The app knew about exactly one workspace, so buying a team on the web and opening your phone showed you whichever board happened to be active, with no way to reach the other. Now you can switch between them, run your team from the phone, and archive a sprint instead of deleting it.
- Switch workspaces from the menu — personal and team boards, with role, member count and plan on each. On a tablet the switcher sits in the header, where it was previously unreachable entirely.
- Team management on the phone: invite people, see who holds a seat, and how many are left — the same numbers the web enforces.
- Archive a sprint from the phone rather than deleting it, so its history survives.
- A floating add-task button on the board, and the sprints pages redrawn to be usable on a phone screen instead of a shrunken desktop layout.
- Dragging a card no longer fights with scrolling the board — a touch that starts as a scroll stays a scroll.
- An unpaid team workspace now reads as locked instead of quietly refusing every write, with the way out shown on it.
- If your email is unverified, the app says so and can resend the link — previously only the web did, though most sign-ups come from the stores.
- Accessibility: the menu used to reach VoiceOver as a single nine-item sentence with nothing in it activatable. Every row is now its own control.
- Rolling out on Google Play now; in review for the App Store.
Link Google or Apple to the account you already have
Settings now lists the ways into your account and lets you add another. This matters most for Apple: “Hide My Email” hands back a relay address that matches nobody, so signing in with Apple on a phone after signing up with Google on the web produced a second account and a second empty board, with no way to merge them.
- Settings → Sign-in methods shows what is attached — email and password, Google, Apple — and offers to link the ones that are not.
- Linking goes through your session rather than your email address, so a hidden Apple relay address lands on the account you are already signed into.
- Do it once on the web and the phone finds the right account.
- You cannot remove your only way in — an account nobody can sign into is not a state worth reaching.
Pro monthly is now $7 a seat
Monthly dropped from $20 to $7 per seat. At $20 the annual plan cost a quarter of monthly, which is not a discount but a different product at a different price — nobody could rationally choose monthly, so it existed only to be refused. Now the two are comparable and you can pick on how you like to pay.
- $7 per seat per month, flat — no volume tiers on monthly.
- Yearly stays $60 for a single seat, about $5 a month, and gets cheaper per seat as a team grows: $58 at two seats, down to $50 at ten or more.
- Annual saves 29% for one seat and up to 40% for a larger team.
- The same price everywhere — letsweft.com, the App Store and Google Play.
- Free is unchanged: 50 tasks on the board and 200 AI tool calls a month.
Team workspaces got their own front door
Creating a team used to drop you on a page whose top half argued with the reason you arrived, with the form itself below the fold. Naming a team, sizing it and paying for it is one decision, so it now has one screen and one address you can hand to someone: /team/new.
- A dedicated page for creating a team workspace — no competing calls to action, and a link you can send.
- Choose monthly or yearly at creation, with the other price quoted next to it, instead of being shown one and left to wonder about the other.
- Invitations are addressed to a person rather than being anonymous links.
- The seats counter shows what you can still invite, not what you bought: you occupy a seat, and a pending invitation holds one for its full seven days. The number displayed is now produced by the same function that enforces it, so the two cannot drift apart.
- Accepting an invitation re-checks seats, not just sending one — a team could previously overfill between the two.
- A team workspace created but never paid for is sealed rather than silently usable, which is what made abandoning checkout a way to collect free boards.
- Billing repairs itself: the seat dialog can reconcile against Stripe when a subscription was changed outside the app, and billing state is re-checked daily so a single lost webhook stops being permanent.
Connect your board to Claude Code in one command
The MCP endpoint has been live since April, but connecting it meant knowing what MCP is, finding the endpoint URL and following an OAuth flow. weft-tasks is the same board as a Claude Code plugin, and installing it carries the connection with it.
- claude plugin marketplace add AndreiFinogeev/weft-tasks, then claude plugin install weft@weft — that is the whole setup.
- The MCP server travels with the plugin, so there is no endpoint to paste and no OAuth instructions to follow.
- Ships as an Agent Skill too, teaching an agent the board workflow: start a task when it begins, complete it with a written outcome.
Import your backlog: CSV upload and one-call AI import
Moving to Weft no longer means re-typing your backlog. Upload a CSV export from Linear, Jira, Notion or Trello on the new import page — or just paste the export into your AI chat and it lands on the board in a single call.
- New Board → Import page: upload a CSV, check the auto-detected field mapping (title, status → column, priority, due date), done — tasks land in the right columns in order.
- New bulk_create_tasks MCP tool: your AI imports a whole list in one call and one transaction — all-or-nothing, and far cheaper on the monthly AI-call quota than creating tasks one by one.
- Works with any list of 3+ tasks from a conversation, not just exports — "file all of these as tasks" is now one call.
- Columns are addressed by meaning ('backlog', 'todo', 'doing', 'done') or by name; sprints from your old tool's cycles can be created first and referenced per task.
- Pairs with the 24-hour import grace window: bring everything in on day one, sort it out later.
Done drains into sprint history
The Done column is a buffer, not a museum. Completing a sprint now sweeps its finished tasks off the board into the sprint’s history — archived, never deleted. The board resets for the next sprint while search, sprint pages and your AI keep the full record.
- Complete a sprint and its finished tasks leave the Done column into the sprint’s history page — unfinished tasks stay on the board.
- Archive is not trash: archived tasks are never purged, stay searchable via MCP search/fetch, and keep their cycle-time data.
- "Archive all" on the Done column (and the new archive_done_tasks MCP tool) clears the rest of the Done column — everything outside the running sprint. "Move everything in Done to the archive" now just works.
- Archive is reversible: your AI can pull an archived task back with move_task or complete_task, and AI clients see a sprint’s full history via sprint-scoped list_tasks.
- get_board_state now keeps active work visible when a big board is truncated: in-progress columns first, freshest Done tasks fill the rest.
- Archived work no longer counts toward the free 50-task cap — the cap meters your live board, and finishing a sprint frees the space it used.
- Free plan remembers the last 30 days of archived history; Pro remembers everything. Nothing is ever deleted — upgrade and it all comes back.
Your agents now work tasks across the board
Until now an AI client could do a task from your Backlog and leave the card untouched — you (and every other agent) had no idea it was in progress or already done. Two new MCP tools fix the loop: agents move a task to Doing the moment they start and to Done with a written outcome when they finish.
- start_task: the moment an agent begins executing a task, the card moves to Doing — visible to you and to every other connected client, so nobody picks it up twice.
- complete_task: the card lands in Done with an "Outcome (AI, date)" note appended to the description — open the card and see what was done and where the result lives.
- Agents are instructed to check Doing before pulling work from the Backlog, and to leave unfinished work in Doing instead of silently dropping it.
- No setup needed — new chats pick the behavior up automatically (long-running chats may need the connector reconnected). MCP grows to 23 tools.
Sign in with Google and Apple
One tap to get in: Weft now supports Google and Apple sign-in on the web and in the mobile app (v1.2.0), alongside email. Existing email accounts link automatically when the addresses match — no duplicates.
- "Continue with Google" and "Continue with Apple" on letsweft.com sign-up and sign-in.
- Mobile app 1.2.0 (App Store and Google Play): the same two buttons, with native Sign in with Apple on iOS.
- Signed up by email earlier? Sign in with Google or Apple using the same address and it attaches to your existing account.
- Also in 1.2.0: password reset from the app's sign-in screen — no more being locked out on the go.
One-click Weft for Replit Agent
Weft now connects to Replit: an official "Add to Replit" install link puts your board one click away from Replit Agent, which reads sprint scope and files follow-ups from every Replit App you build.
- "Add to Replit" — Replit's official MCP install link: one click opens replit.com/integrations with the Weft server pre-filled; "Test & Save" and OAuth sign-in finish the job.
- Manual path documented too: Integrations → "MCP Servers for Replit Agent" → "Add MCP server" → paste the endpoint. Replit detects Weft's OAuth automatically — no API keys or headers.
- Connect once, use everywhere: Replit MCP connections are account-level, so every Replit App's Agent can drive your board.
- Build with the board in the loop: "check my Weft board and start on whatever is top of Todo", or "file the bugs you just found as high-priority tasks".
Connect Weft to Lovable
Weft now has a setup guide for Lovable, the AI app builder: add Weft as a chat connector and Lovable reads your sprint scope while it builds — then files the follow-ups it finds straight onto your board.
- New /lovable page with the four-step setup: Settings → Connectors → Personal connectors → Custom → "New MCP server", paste the Weft endpoint, sign in with OAuth.
- Works on every Lovable plan — chat connectors are free and don't consume build credits.
- Build with the board in the loop: "read the active sprint and build the highest-priority task", or "file everything still rough on this page as Backlog tasks".
- Same OAuth 2.1 endpoint as every other client — no API keys, scoped to your account.
See who created every task — and which venture it belongs to
Two features for boards where AI does real work: creator attribution shows whether a task came from you or from Claude, ChatGPT, Cursor or Gemini — with the client's logo on the card — and projects let one board hold every venture you run, each task chip carrying its project's favicon.
- AI-created cards get a badge with the client's logo (bottom-left, next to the priority dot); human cards stay exactly as clean as before. The task modal shows "Created by Claude · Jul 28".
- New All / AI / Me filter answers "what did my agents add while I was heads-down?" — it appears only once a board has MCP-created tasks.
- Attribution is backfilled: tasks you created over MCP before today already carry their badges.
- Projects: tag a task with the venture it belongs to — a startup, a client, personal. Chips show the project site's favicon; filter the board to one venture in a click; create projects inline from the task modal.
- MCP grows to 21 tools: list_projects, create_project, update_project, a project parameter on task tools (accepts the project name, case-insensitive), and a createdSource filter on list_tasks.
- The AI-first part: connected agents file tasks into the right project automatically when the conversation makes it obvious, and "organize my board into projects" makes your agent propose a mapping and do all the filing after one confirmation.
One-click Cursor install + Cursor Directory listing
Connecting Weft to Cursor no longer means editing mcp.json: the /cursor page now has an official "Add to Cursor" button, and Weft is listed in the Cursor Directory.
- "Add to Cursor" — Anysphere's official install deeplink: one click opens Cursor and adds the Weft MCP server.
- Listed in the Cursor Directory: cursor.directory/plugins/weft.
- Manual ~/.cursor/mcp.json config stays documented as a fallback.
Official Gemini CLI extension
Weft now ships as a first-class Gemini CLI extension: one command installs the MCP connection plus a context file that teaches Gemini the board's conventions — no settings.json editing.
- Install: gemini extensions install https://github.com/AndreiFinogeev/weft-gemini-extension
- Bundles the hosted MCP server (OAuth 2.1, all 18 tools) and board conventions — trash semantics, sprint rules, prompt-injection guardrails.
- Listed in the Gemini CLI extensions gallery at geminicli.com/extensions.
- The /gemini-cli setup guide is rewritten around the extension; manual settings.json config remains as a fallback.
Weft is on the App Store and Google Play
The native mobile apps are out. Take your board to the couch, the commute, or a plane with no wifi — offline-first, synced the moment you're back online, with the same AI-driven board underneath.
- iPhone & iPad — apps.apple.com/us/app/weft-ai-scrumban-board/id6769017865.
- Android — play.google.com/store/apps/details?id=com.letsweft.mobile.
- Offline-first sync: edits queue locally and land cleanly when you reconnect. No lost changes.
- New /downloads page collects every way to get Weft; App Store and Google Play badges are now on the landing page.
Weft is live in the ChatGPT Plugin Directory
Weft passed OpenAI's review and is now a published ChatGPT plugin. No more developer mode or manual MCP setup — find Weft in the Plugin Directory, click Connect, and your board is one @-mention away.
- Two-click install: open Plugins in the ChatGPT sidebar (or Settings → Plugins), search "Weft", hit Connect.
- Invoke it from any chat — @-mention the plugin ("@Weft what's on my board?") or pick it from the + menu.
- One listing, two surfaces: the Plugin Directory is shared by ChatGPT and Codex.
- Works on every ChatGPT plan, including Free. Enterprise and Edu workspaces need plugins enabled by an admin first.
- The /chatgpt setup guide is rewritten around the published plugin. The custom-connector path (developer mode) stays documented as a fallback for regions where the listing hasn't rolled out yet.
AI-discoverable site surface
Every page AI assistants are likely to ask about now has a canonical URL. Docs, per-client setup guides, comparisons, migration guides, and persona pages are all live.
- /docs — full documentation tree: quickstart, six concept pages, and an MCP tool reference (15 tools).
- /integrations and nine per-client setup pages (Claude Code, Claude Desktop, Cursor, ChatGPT, Codex, Gemini CLI, Windsurf, Cline, Zed).
- /vs — honest side-by-side comparisons with Linear, Jira, Notion, Trello, ClickUp, Asana, Todoist.
- /migrate-from — step-by-step guides from Linear, Jira, Notion, Trello, importing via the MCP server itself.
- /for — persona pages for solo founders, indie hackers, small teams, and AI-native teams.
- /llms.txt, /llms-full.txt, /pricing.md, /.well-known/mcp.json, /sitemap.xml — machine-readable surface for LLM crawlers.
- New site header with Use cases and Compare dropdowns plus a mobile accordion menu.
MCP server with 15 tools
Weft's OAuth 2.1 MCP endpoint went live at https://letsweft.com/api/mcp. Fifteen tools cover the full Scrumban surface — read, edit, and run sprints from any MCP-compatible AI.
- Dynamic Client Registration — no manual API keys.
- Tools annotated with readOnlyHint, destructiveHint, idempotentHint.
- Per-user JWT scoping; concurrent clients on the same board.
- Verified against Claude Code, Cursor, ChatGPT.