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
[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.
[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.
[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.