Every release that reaches your apps, in plain language. New capabilities land here the day they go live.
Your company, working as one — events, the map, and connected assistants
Apps react to each other, the new Company map shows it all, and your assistant gets its own approved key.
Your apps can now react to each other
When something happens in one app, connected apps hear about it — in order, reliably, and only where you've approved the connection.
Ask the assistant building your app to wire it up — "when the orders app gets a new order, update my dashboard" — or to announce this app's own moments to the rest of your workspace. Approvals work exactly like connection calls: a workspace owner or admin approves each one from the console, and revoking stops deliveries immediately. docs →
See how your company works together
The new Company map shows your apps and every connection between them — live, and drawn entirely from what you've approved.
Open Map in your company workspace: your apps sit at the center, the outside services they use around them, and every approved connection drawn between them in plain language. A dashed line is a request still waiting for approval.
Select any app to see what it's for, what it can do, and how connected it is. Select a connection to see exactly what flows ("Prediktia reads field visits from VM Wizard"), whether it's active, and its last 7 days of activity.
Owners and admins can act right there: approve a pending request and watch the line go solid, or revoke a connection on the spot.
If an update between two apps couldn't be delivered, the connection shows it plainly — with the details one tap away.
Nothing appears on the map that your workspace didn't say yes to. docs →
Connect your assistant to your company
Give Claude (or any assistant) a key to exactly the parts of your company you choose — ask questions, get real answers from your apps, and revoke access any time.
In your company Settings, the new AI assistants section connects an assistant in one step: name it, and you get its access key — shown exactly once — with ready-to-paste setup for Claude Code and the Anthropic API.
Then choose precisely what it can use: every app lists what it offers in plain language, and the assistant gets nothing you don't tick. You can change the selection whenever you like.
Your connected assistants appear on the Company map alongside your apps, with every approval drawn as a connection — so what your assistant can reach is never a mystery.
One tap revokes an assistant: its key stops working immediately, everywhere.
Nothing is shared with an assistant that a workspace owner or admin didn't approve. docs →
Your apps can now work together
Apps describe what they can do, and — with your approval — connect to each other.
Your apps now describe what they can do
Every app in your workspace can now carry a short, living description of what it's for and what it can do — written next to its code and updated automatically every time the app publishes.
Open any app and the new "What this app can do" card on its Overview shows the app's purpose and its capabilities, each in plain language, with a note of when they last updated.
On company workspaces, the Apps directory now shows each app's purpose on its card, and search matches capability names too — so you can find "which app handles invoices" without opening a repo.
Your assistants read the same inventory, so they know what already exists before building something new — they work smarter together.
Nothing to set up: apps that haven't described themselves yet simply show a gentle hint until their next publish. docs →
Connect your apps — with your approval
Your apps can now share what they do with each other: an assistant requests the connection, you approve it in one tap, and information flows only where you've said yes.
Requests land on your company home as a Pending connections card — each one in plain language ("Prediktia wants to read field visits from VM Wizard"), with Approve and Decline right there. Only workspace owners and admins decide.
Every app's Overview now shows its Connections — what it shares with, and receives from, your other apps, each marked active or pending. Owners and admins can revoke a connection at any time; apps using it stop receiving that information immediately.
Connections are protected: publishing a change that would break one is stopped with a plain explanation, so connected apps never silently lose something they depend on.
Nothing is shared by default — every connection exists because someone in your workspace said yes. docs →
Creating an app is simpler
Tell your assistant what to build and it starts from there.
Creating an app now takes just a few answers: a name, a web address, and who can use it. New is an optional "What should it do?" box — describe what you want in your own words, and your app's assistant reads it and starts building from it in your very first session.
We also removed the "What kind of app is it?" question. You no longer have to guess at a technical choice up front — the Ghosty platform picks the right setup for you automatically. docs →
Company workspaces: a simpler start
Three-step onboarding, live setup progress with email updates, a company design guide your AI assistant follows, and better-looking new apps.
Company onboarding is now three steps
Creating a company workspace is down to the essentials: name it,
connect your GitHub organization, submit. Design decisions are gone
from onboarding entirely — your apps look good from the start, and
design is something you refine later, on your own terms.
docs →
You always know what's happening
After you submit, the console shows your workspace being built, step by
step — and you don't have to watch. You get an email confirming we're
setting things up, and another the moment your workspace is live, with
a link to sign in. Setup usually finishes within the hour, and while it
runs you can already invite your team.
A design guide your AI assistant follows
Companies can now keep a design guide: a plain-language document with
your brand's rules — colors, voice, spacing, links to logos and fonts —
in Settings → Company design system. When anyone on your team
builds with an AI assistant, the assistant asks whether the app should
follow the company design system and pulls the latest guide with the
new ghosty design command. docs →
New apps look better out of the box
Fresh apps now start with Ghosty's clean house look and a modern,
ready-to-use component kit — buttons, cards, dialogs and forms your
assistant can build with immediately, and that restyle automatically
when you use the app's Designer.
Fixed: the Files tab now shows everything your app has stored
Apps that turned on file storage after creation now show their files in the console.
If your app enabled file storage after it was created, the Files tab in the console could show an empty state even though your app was storing files just fine. That's fixed — the Ghosty platform now keeps your app's catalog entry in sync whenever your app's configuration is applied, so the Files tab always reflects what your app has stored. Your files themselves were never affected. docs →
The CLI now signs in at console.getghosty.dev.ghosty login (0.19.0) opens the console at its own address, console.getghosty.dev, instead of going through getghosty.dev. Nothing to do if you're on an older version: existing installs keep working — sign-in requests to the old address are forwarded automatically, so there's no forced upgrade. The GHOSTY_CONSOLE_URL override is unchanged.
This release also includes reliability improvements to the Ghosty platform behind the scenes. See signing in for the updated sign-in details.
Sign-in links that survive strict email security
One-time sign-in links now hold until you click "Finish signing in", GitHub connections bind to the right account, and account removal retries got sturdier.
Sign-in links now survive company email security
Many company mailboxes run security tools that open every link in every
email the moment it arrives. Ghosty's sign-in links work exactly once — so
those tools were using them up before anyone could click, leaving some
people (especially on corporate email) stuck at "this link was already
used". Sign-in links now land on a small Finish signing in page, and
the link isn't spent until you press the button. Scanners can look all
they want; your link waits for you. This applies everywhere you sign in
with email — the console and the command line. docs →
GitHub connections bind to the right account
On personal workspaces, connecting GitHub could silently latch onto a
GitHub organization instead of your personal account, which later broke
app creation in ways that were hard to trace. The connect flow now guides
you to install on your personal account and clearly rejects a mismatched
choice, so what you connect is what your apps use.
Sturdier account removal
Retrying a failed account removal now converges in a single click —
previously each retry could advance only one step at a time. Removals are
also reported more precisely along the way.
Stay signed in longer, and full account removal
Sessions now last 7 days and renew while you're active, expired sessions send you back to sign-in gracefully, and accounts can now be removed completely on request.
Sessions that keep up with you
Signing in now lasts 7 days instead of 24 hours, and staying active keeps your session fresh — daily users effectively never get signed out mid-work. When a session does expire, you no longer hit a confusing error: the console now takes you straight back to the sign-in page, and once you're signed in again it returns you to the exact page you were on.
Full account removal
We can now remove an account from the Ghosty platform completely on request: every app is taken down, custom domains are released, and all sign-in access and stored account data are purged. Removal is cleanup, not a ban — the same email is free to sign up again afterward. If you'd like an account removed, contact us.
Smarter custom domains and steadier app setup
Point www at your app in one click, get told exactly which DNS record is missing, and app creation now rides out temporary hiccups on its own.
Your www visitors, covered
Most people type www. in front of a domain — but if only the bare
domain is connected to your app, those visitors hit a dead end. Now,
when you connect a domain like yourdomain.com to an app, Ghosty
offers to connect www.yourdomain.com at the same time with a
pre-checked option. One click, both addresses. The www connection is
independent, so you can remove or repoint it separately at any time.
docs →
"Still connecting…" now tells you why
Waiting on a domain that never comes online usually means one thing:
a DNS record that was never created. The domain page now tells the
difference between a record that exists but hasn't taken effect yet
and one that's missing entirely — and when it's missing, it shows the
exact record to add at your domain provider, so you can fix it in one
visit instead of guessing. docs →
App creation shrugs off temporary hiccups
Very occasionally, a brand-new app could show a red failure during
setup even though nothing was really wrong — a piece of the platform
was simply asked for before it had finished getting ready. Setup now
detects that situation and quietly retries until it clears, so those
false alarms are gone. And on the rare occasion something genuinely
does fail, the message you see is now written in plain language and
tells you what to do next — while the details reach our team
automatically so we're already looking into it.
Start working on your new app faster
The create wizard no longer makes you wait for the first launch — you get everything you need to start building right away.
Creating an app used to end with a wait: the wizard held you on the
progress screen while the first version built and launched — usually a
couple of minutes — before showing you the handoff prompt and links.
That wait is gone.
Setup completes as soon as there's something to work on. The moment
your app's code and workspace are ready, you get the handoff prompt,
the repository link, and everything you need to start building — the
first version finishes launching in the background, and the page flips
to your app's live address on its own.
The app page keeps you in the loop. While the first version is
launching, your app's page shows exactly that. And if a first launch
ever fails, the page says so and gives you a working Try again
button that picks up where things left off — no more new apps stuck
saying "needs attention" after a rough start.
Your apps can now receive events — plus a rounder, more reliable platform
Stripe and other services can push verified events straight to your app, the Ghosty command line keeps itself up to date, and domain setup got friendlier.
The biggest piece first: connected services don't just answer your app
anymore — they can notify it. Enable events for an attached service
(Stripe, for example) and Ghosty gives you an events address to paste into
that service's dashboard. From then on, every notification is checked for
authenticity and delivered to your app's code — a checkout completing, a
subscription changing — with unverifiable deliveries dropped before they
ever reach you, and a Recent-events list so you can see what arrived.
Scaffolded apps include a ready-made handler: register what you care about
and the platform does the rest.
The Ghosty command line now keeps itself current. It quietly checks for
newer versions, tells your app's coding assistant in a way it can act on
(so updates just happen — you're never asked to run anything), and the
platform can gently retire versions that are too old to serve safely.
Custom domains got sturdier: a domain's verification window is now
visible while it's counting down, a domain that verifies near the deadline
is honored rather than dropped, and if one does expire you can reclaim it
yourself immediately — no support round-trip.
And a fix worth celebrating: new apps no longer show a failed first
deploy in their history. One deploy, the right one, from the first
minute.
Invite your team, and apps only your workspace can use
Company workspaces now run on invitations instead of email domains — and apps can require a workspace sign-in from everyone who uses them.
Setting up a company on Ghosty no longer asks who's allowed to sign in.
Create your workspace, then invite people from the Team page: add a
teammate's email and they can sign in right away — any address, work or
personal — and they get a note letting them know. Remove someone and their
access ends immediately. No domain lists to maintain, no one locked out of
their own workspace.
Apps gain a matching superpower: a new "Workspace members" access mode.
Pick it when creating an app and every visitor must sign in as a member of
your workspace — a branded sign-in with their email, nothing to configure
in your code. Removing someone from the team closes their app access too,
and a "Sign everyone out" button in the app's settings resets all sessions
at once. The existing public, invite-link, and build-your-own modes are
unchanged.
Also new in the catalog: Melonn — connect the Sellers API once and your
apps can manage orders, products, stock and returns without handling
credentials.
Browse your app's files, and seven more services to connect
A new Files tab shows everything your app has stored — plus Algolia, Pinecone, Firecrawl, Exa, Mapbox, Postmark and Telegram join the catalog.
Apps that store files no longer keep them out of sight. Every app page now
has a Files tab: browse folders, preview images, PDFs and text right in
the console, download anything, and delete what shouldn't be there. Files
stay private to the app — viewing and downloading happen through your
signed-in console session only, never through public links.
The integrations catalog also grows from 18 to 25 services. New this
release: Algolia and Pinecone for search, Firecrawl and
Exa for AI agents that read the web, Mapbox for maps, Postmark
for email, and Telegram for bots. Same model as always — connect once,
attach to any app, and the credential never appears in your code.
A live usage view for every integration, plus built-in fair-use protection — no setup required.
Every app's Integrations tab now shows what it's actually doing with the
services you've connected: how many calls it made to each one over the last
7 or 30 days, how fast they were, and whether any failed. No agents to
install, no dashboards to configure — if your app talks to OpenAI, Stripe,
or any other connected service, the numbers are already there.
Alongside the visibility, the Ghosty platform now applies sensible fair-use
limits per app and service, so one runaway loop can't exhaust a shared
account or your provider bill. Apps that hit a limit get a clear signal and
can simply retry a moment later; everything else keeps flowing untouched.
This release also lays groundwork you'll see surface soon: the platform can
now look inside an app's file storage, powering an upcoming Files view of
everything your app has stored.
Eighteen integrations — AI models, payments, email, messaging and more — with one connection, zero keys in your code.
Your Ghosty apps can now talk to the outside world without you ever handling
a credential in code. Connect a service once from the console — OpenAI,
Anthropic, Stripe, Resend, Twilio, Slack, GitHub, Notion and ten more —
and attach it to any of your apps with a click.
The key you paste is encrypted immediately and never shown again, not even
to you. Your app calls the service through the Ghosty platform, which adds
the real credential on the way out — so nothing secret ever lives in your
repository, your environment files, or your deploys. Detach or rotate at
any time and access stops on the next call, no redeploy needed.
On company plans, a connection can be shared with the whole team: one
Stripe account, every app on it, revocable by whoever created it.