About Ghost — Postgres built for agents

Source: original

Your Postgres wasn't built for agents.

Agents don't log in and out. They don't share state. They experiment, they fail, they die. They need a database that works the same way.

curl -fsSL https://install.ghost.build | sh

Weekly digest

curl -fsSL https://install.ghost.build | sh

Subscribe to the weekly digest →

Send

Unlimited databases·Unlimited forks·100 hrs/mo free·1TB storage free

  1. Agents are not humans.They don't log in at 9 and out at 5. They don't have shifts. They don't sleep.
  2. They run in bursts.A few seconds. A few minutes. Then they're done. The next one has nothing to do with them.
  3. They don't share state.Or if they do, it's a bug you haven't found yet. Real isolation is cheaper than finding the bug.
  4. They experiment.Fork an idea, try both, keep one, discard the rest. Your database should let them.
  5. They fail.Often, loudly, in ways that shouldn't touch anyone else. Blast radius should be one agent, one database.
  6. Postgres was not built for any of this.So we built one that was. Same SQL. Same tooling. Different lifecycle.

the whole api

Create, fork, delete.

Everything else is standard Postgres.

CREATE

$ ghost create --name scratch

scratch.ghost.build postgresql://ghost:•••@scratch.ghost.build/postgres

FORK

$ ghost fork scratch --name test-a

test-a.ghost.build copy-on-write from 'scratch'

DELETE

$ ghost delete scratch --confirm

deleted. billing stopped.

from ajay

We built Ghost because nobody else was going to.

Every agent team we talked to had built the same workaround: a pool of "scratch" postgres instances, a cron job to reset them, a naming convention nobody followed, and a bug where the cleanup job occasionally nuked a customer's db.

We'd built versions of it ourselves. Twice.

The real problem wasn't the cleanup script. The real problem was that Postgres assumes a long-lived, shared, carefully-provisioned model that agents have nothing in common with. Agents are ephemeral. Agents are isolated. Agents are disposable. Treating them like 2015-era microservices was never going to work.

So we built a Postgres that assumes the opposite. You create one in under a second. Fork it. Discard it. Spin up ten thousand of them and pay for the seconds they ran. No cleanup scripts, because there's nothing to clean up.

If you've been writing those workarounds, this is the tool we wish we'd had.

ajay kulkarni

early builders

People using it already.

Ghost shipped to a handful of teams before the public launch. Here's what they did with it.

"We had three agents fighting for one staging database. Now each one gets its own, spun up in the time it takes the first tool call to return. The whole category of 'agent stepped on another agent's work' just disappeared."

engineer·ai research platform

"I stopped writing cleanup scripts. That alone paid for it."

founder·devtools startup

"We fork main before every migration. If it works on the fork, we swap. If it doesn't, we delete the fork. We haven't had a migration roll back in production since we moved to Ghost."

staff engineer·fintech platform

"Databases used to be expensive enough that you reused them for everything. Now I create one for a single afternoon of work and throw it away at the end. It feels wasteful. It's not."

eng lead·agent infra team

the product

Shipped, and shipping next.

Ghost is not finished. A short list of what's landed and what's in flight.

shipped

MCP server

First-class tool surface for Claude Code, Cursor, Windsurf, Codex, Gemini CLI, VS Code, and more. One command to install: ghost mcp install.

shipped

Schema introspection

ghost schema displays your database structure in a format optimized for agents. Tables, views, constraints, indexes, all formatted so Claude can write accurate queries without guessing.

shipped

MCP prompts

Reusable guidance packages agents can pull on demand. Eight shipped so far, covering pgvector semantic search, hybrid text search, TimescaleDB setup, and Postgres schema design.

shipped

Read-only mode

A read_only config option prevents destructive operations like delete, pause, and sql writes. Give agents access to your databases without worrying about accidental data loss.

shipped

Drop into psql

ghost psql opens an interactive psql session connected to your database. No more copying connection strings.

shipped

Headless login

ghost login --headless uses OAuth device flow for environments without a browser. Sandboxes, VMs, containers, remote servers. Enter a code on any device and you're in.

shipping next

pgvector + pg_textsearch baked in

No extensions to install. Forks of a vector-heavy db stay consistent. Agents can search on day one.

shipping next

Scheduled deletes

Auto-delete a database after N minutes. For agents that forget to clean up after themselves.

If you've been writing the workarounds, this is the one we wish we'd had.

No cleanup scripts. No cron jobs babysitting a pool of scratch dbs. Create, fork, delete. That's the whole API.

curl -fsSL https://install.ghost.build | sh

read the docs →