Remembers every merge request decision
Why each merge request was approved, held or reworked, linked to the pipeline, ticket and thread behind it. Ask months later and get the answer.
Ditto remembers why code changed across GitLab, Jira, Slack and your other apps. Ask in Ditto or your coding agent and get the answer, with who decided and where.
Free plan, no card needed. See pricing for prepaid usage plans.
Preparing workspace..."ledger export timeout", "Westmere reconciliation"3 memories · #platform thread 16 Sep · Pipeline #8812 · HAL-219Keep the nightly schedule. Read the ledger in batches, not one query.!497 Batch the ledger export queryLedger export now reads in batches (MR !497)The merge request shows the change. The reason sits in a resolved thread.
The code is in GitLab. The ticket, the alert and the debate are elsewhere.
To each new engineer, and to every coding agent you open.
What was agreed in review never reaches the ticket, the customer or the runbook.
Why each merge request was approved, held or reworked, linked to the pipeline, ticket and thread behind it. Ask months later and get the answer.
Jira, Slack, Datadog, Confluence and many more feed one memory. Ask about any project, merge request or pipeline and Ditto checks them all.
Comment the cause of last night's failed deploy on MR !501, link the Datadog alert and post a summary in #ops.
Comments on the merge request, updates the ticket and posts the summary, then waits for your OK. Hand a coding task to the agent you pick and watch every step.
Claude Code, Cursor and Codex read the same memory over MCP. Use a low-cost model for routine jobs like pipeline summaries.
Ditto is for teams whose work spans several apps and several people. If the answer, or the follow-up, lives in more than one place, Ditto keeps it in one shared memory: a second brain the whole team can ask.
Three steps, then it keeps working in the background.
Connect GitLab from Ditto's Connections page. It starts read-only until you turn on writing.
Decisions, people and projects from every app, linked and kept current.
Use the Ditto app, or connect Claude Code, Cursor and Codex over MCP. It answers with sources and acts in GitLab when you approve.
GitLab Duo works inside GitLab. GitLab's MCP server and plugins give ChatGPT, Claude and Codex live access to your projects. Automation tools run fixed steps. Enterprise search looks across apps. Ditto keeps one memory across GitLab, your other apps and every coding agent, and acts in them.
| Capability | Ditto | GitLab DuoAgentic Chat, Orbit, GitLab MCP server | ChatGPT or Claude + GitLabGitLab plugins, GitLab MCP | Automation toolsGitLab CI/CD, Zapier, n8n | Enterprise searchGlean, Dust |
|---|---|---|---|---|---|
Remembers across sessions, models and toolsiAsk weeks later, on a different model or from a different coding agent, and the context is still there. | ✓Full | –Partial | –Partial | ✗None | –Partial |
The same memory in Claude Code, Cursor and CodexiEach coding tool reads and saves the same memory over MCP, so switching tools keeps the context. | ✓Full | –Partial | ✗None | ✗None | –Partial |
Remembers what was decided outside GitLabiA decision made in Slack, Jira or email is there when someone opens the merge request. | ✓Full | ✗None | –Partial | ✗None | –Partial |
Answers one question from GitLab and your other apps togetheriChecks the merge request, the pipeline, the ticket and the thread at once, as enterprise search and the ChatGPT or Claude apps also do. | ✓Full | –Partial | ✓Full | ✗None | ✓Full |
Hands a coding task to the agent you pickiDitto Code runs jobs by default, or hand one to Claude Code, Codex, Cursor or Antigravity, then track and steer it in Tasks. | ✓Full | –Partial | –Partial | ✗None | ✗None |
Acts in GitLab and your other apps from one requestiOne request comments on the merge request, updates the ticket and posts the summary. | ✓Full | –Partial | ✓Full | ✓Full | ✓Full |
Built into GitLab, nothing to installiGitLab Duo is built into GitLab, and Ditto connects to GitLab from its Connections page. | ✗None | ✓Full | –Partial | –Partial | ✗None |
Connects to any appiDitto connects to any app that supports MCP, and every app shares the same memory. | ✓Full | –Partial | –Partial | ✓Full | ✓Full |
Starts read-only, and you choose what runs on its owniGitLab stays read-only until you turn on writing, and merges, comments and pipeline runs wait for approval unless you set an action to run on its own. | ✓Full | –Partial | ✓Full | –Partial | –Partial |
Respects GitLab permissions in every answeriDitto checks the permissions set in GitLab before it shares anything, so each person only gets answers from projects they can already see. | ✓Full | ✓Full | ✓Full | –Partial | ✓Full |
Pick the model for each task, or bring your own keyiChoose the model for each job from any provider, or use your own API key. | ✓Full | –Partial | –Partial | ✓Full | ✓Full |
See, edit and export what it remembersiOpen what Ditto remembers, correct it, export it or delete it. | ✓Full | –Partial | –Partial | ✗None | –Partial |
Connect them once. Ditto remembers across all of them, so you ask about the code and the reasons behind it in one place.
Your plan covers capacity and features. Credits pay for variable usage across AI, voice, tool actions and storage beyond your included allowance.
New plan preview. Rollout is in progress; check the offers available in your account before purchasing.
Explore Ditto with no card needed.
Plan includes:
Add a $5 initial deposit for more usage, with no subscription. The full deposit becomes usage credits; checkout adds any tax. Flex checkout asks you to authorize automatic refills: you set a monthly limit, which includes tax, and can turn refills off anytime.
Paid chat connections, parallel reviews and remote control unlock after the deposit settles. Free already includes one Ditto Review at a time.More room for your everyday work.
Plan includes:
Shared capacity and credits for you and your team.
Plan includes:
A custom Ditto build for your business: our team writes the spec, builds it and supports it.
Yes. Merge requests and their reviews, issues and epics, pipelines and deployments join one memory with your chat, tickets and email, each with its source. Ask weeks later, in the Ditto app or from a coding agent over MCP, and it answers with the merge request and the reasons behind it.
What GitLab exposes through its API and MCP server: projects and files, merge requests and reviews, issues, epics and other work items, comments, commits, branches, pipelines and jobs, releases, wikis and vulnerabilities. It starts read-only, and it checks the permissions set in GitLab before it shares anything, so each person only gets answers from projects they can already see.
It uses GitLab's own actions: open and update issues and merge requests, comment and review, create branches and commits, link work items, and run, retry or cancel pipelines. Merges and every other change wait for your approval unless you set an action to run on its own.
GitLab Duo is built into GitLab. Its Agentic Chat remembers your most recent conversation and deletes inactive ones after 30 days, and Orbit, in beta, maps your GitLab data. Ditto keeps one memory across GitLab and your other apps, works with any model, and brings it to Claude Code, Cursor and Codex.
GitLab's AI features run on GitLab Credits. Premium and Ultimate include a monthly allowance per user, and the Free plan needs credits bought as an add-on. Ditto starts free, and prepaid usage is available with Flex.
The new plans are Free, Flex with a $5 initial prepaid deposit and no monthly base fee, Plus at $19/month, and Pro at $97/month. Usage is prepaid with credits. See the pricing page for plan details and rollout availability.
Yes, over MCP. They recall your decisions with their sources and save what they learn to the same memory. They don't act in GitLab through Ditto, and Ditto doesn't control them.
Yes. OpenAI's GitLab connection for ChatGPT and Codex, in beta, reads and acts on code, merge requests, issues and pipelines, and a GitLab plugin gives Claude Code access through GitLab's MCP server. With Ditto over MCP, they also recall what was decided in chat, tickets and email.
Yes. GitLab Duo includes Agentic Chat, flows that review code and fix failing pipelines, and a flow that turns issues into merge requests. Ditto keeps one memory across GitLab and your other apps, and you pick the model.
Yes. GitLab's own MCP server is in beta on Free, Premium and Ultimate, including Self-Managed and Dedicated, and gives AI tools GitLab's actions. Ditto uses GitLab's tools to read and act in GitLab, then keeps what happens there in one memory with your other apps.
Those tools post events or link records between two apps on a trigger. Ditto answers from one memory when you ask, and acts in each app you connect. Keep the integrations you already run.
Yes, in a shared team space. Engineering, support and account teams work from the same history, and Ditto checks each person's GitLab permissions before it answers. Team memory stays when someone leaves.
No. Ditto doesn't train on your code or your memory. When Claude Code or another AI tool reads your Ditto memory, that provider's policies apply to what it reads.
Ditto connects GitLab to every app your team uses, remembers why the code changed and acts when you ask. Start on the free plan, then prepaid usage is available with Flex.
Read-only by defaultNo card to start