WindowsmacOSLinux

Where Does Changesets Store Config and Pending Releases?

Changesets keeps its config in .changeset/config.json, with one markdown file per pending release next to it.

Last updated

Changesets splits state in two. .changeset/config.json holds workflow settings (changelog generator, base branch, linked and fixed groups, access level). The actual queue lives beside it as small markdown files, one per proposed release.

That split explains the bot. It scans the markdown queue, not the config, so a PR with no new files genuinely proposes no release. Keep the config committed and let the queue churn freely.

Where Changesets stores this, by platform

Windows
[RepoDir]\.changeset\config.json

Changelog, baseBranch, linked/fixed groups, access. Pending releases are sibling .md files consumed at version time; the bot comments are driven by them.

macOS
[RepoDir]/.changeset/config.json

Same layout. baseBranch picks the comparison branch for status checks; point it at your real main branch or every PR misreports.

Linux
[RepoDir]/.changeset/config.json

Same files. fixed and linked groups only matter in monorepos; single-package repos can leave them empty and forget them.

Frequently asked questions

Are pending changes inside config.json?

No. Each pending changeset is its own markdown file in .changeset/, created by changeset add. The bot reads those files, so deleting one un-queues that release.

My scoped package will not publish. What is missing?

Set access to public in .changeset/config.json. Scoped packages default to restricted publishing, which fails the release until you flip it.

Notice an outdated path? Let us know.