What is a draft pull request on GitHub, and what changes when you mark it ready for review?
answer
- It is a state, not a label or title prefix
- One button becomes unavailable
- Reviewers are affected too, but not manually added ones
- Code owners are not pinged until later
- No merging; automatic review requests are held
basics
~20 sA draft pull request is a fully visible pull request that GitHub refuses to merge. Marking it ready enables the merge button and triggers the automatic reviewer requests, including code-owner requests, that GitHub holds back while it is a draft.
solid answer
~50 sOpening a pull request as a draft signals "this is real work in progress, look if you like, but do not review it yet". Concretely: - GitHub **blocks merging** a draft — the merge button is disabled regardless of approvals or green checks. - GitHub does **not** automatically request reviews while the pull request is a draft, so code owners are not pulled in until it is ready. You can still request a reviewer manually. - Everything else works normally: the diff, comments, linked issues, and status checks all behave as they would on a ready pull request. Marking it ready for review flips the state, fires the corresponding pull request event, and issues the held-back reviewer requests. You can also convert a ready pull request back to a draft, which is the honest move when review reveals the change needs rethinking rather than nitpicking.
go deeper
Know that a draft cannot be merged and that marking it ready is what starts formal review. Being able to say why you would open one early is enough at this level.
Explain the two enforced behaviours precisely — merge blocked, automatic review requests including code-owner requests withheld — and note that visibility and checks are unaffected.
Show how you use drafts to manage reviewer load and signal rework, including converting back to draft, and explain why a draft is not a private space in a public repository.
Discuss the team norms you would set: when opening early is expected, how draft state interacts with review-queue metrics, and whether CI should run on drafts given runner cost.
## The problem drafts solve Before drafts existed, teams faked them: `WIP:` in the title, a `do-not-merge` label, a comment saying "not ready". All of those rely on humans reading carefully, and none of them stop the merge button. A draft pull request makes the intent a first-class state that GitHub itself enforces. ## What a draft actually changes **Merging is blocked.** This is the hard guarantee. Approvals can be in, every required check can be green, and the merge button is still disabled. Nobody can merge your unfinished work by accident. **Automatic review requests are held.** GitHub's automatic reviewer assignment — including requests generated from a CODEOWNERS file and team review assignment — does not fire while the pull request is a draft. That is the point: opening early should not spam the people who own the touched paths. When you mark it ready, those requests go out. Manual review requests still work at any time, so you can pull in one person for an early opinion. **Everything else is unchanged.** The pull request is visible to everyone who can see the repository. The diff renders, comments and review threads work, linked issues link, and CI generally runs exactly as it would otherwise, because the underlying branch pushes are the same events. ## The lifecycle around it The usual path is: push a branch, open a draft early so colleagues see the direction and CI starts exercising the change, iterate, then click *Ready for review*. GitHub emits a `ready_for_review` event at that moment, which is how automation can distinguish "this changed state" from "someone pushed another commit". Converting back to draft is equally useful and under-used. If review surfaces a design problem, moving the pull request back to draft communicates "stop reviewing line by line, I am rewriting this" far more clearly than a comment does, and it re-establishes the merge block while you work. ## Where drafts interact with other GitHub features - **Auto-merge.** You cannot arm auto-merge on a draft; mark it ready first. That is consistent — auto-merge exists to merge as soon as requirements are met, and "still a draft" is a requirement that is deliberately not met. - **Required approvals.** Approvals given on a draft still count once it is ready; the draft state gates merging, not reviewing. - **Review load.** On a busy repository the held-back automatic requests are the main practical benefit: reviewers' queues stay meaningful because everything in them is genuinely awaiting review. ## Common misconceptions Candidates sometimes think drafts are private, or that they suppress CI, or that comments are disabled. None of that is true. A draft is public to anyone who can read the repository, and treating it as a private scratch space is a real mistake — a draft in a public repository is world-readable, so it is not a place to park secrets or unreleased plans. Others think a draft can be merged "if you are an admin". It cannot; the state must be changed first, which is a deliberate design choice because state changes are visible in the timeline while a silent bypass would not be. ## How to answer well Give the two enforced behaviours — no merging, no automatic review requests — then the one thing that does not change (visibility and checks), then mention converting back to draft as a communication tool. That structure shows you know the mechanism and how a team actually uses it, which is what a screening question about drafts is testing.
- Can you convert a ready pull request back to a draft, and why would you?Yes, from the pull request sidebar. It is the clearest way to say "stop reviewing, I am reworking the approach" after review surfaces a design problem, and it restores the merge block while you rewrite. It also removes the pull request from reviewers' queues without closing it and losing the discussion.
- Does opening a pull request as a draft stop CI from running?No. Checks generally run exactly as they would on a ready pull request, because they are driven by the same branch and pull request activity. Teams that want to save runner time on drafts configure that deliberately in their workflows rather than relying on the draft state to do it for them.
saying these in an interview costs you the question
- Thinks a draft pull request is private or hidden
- Believes an admin can merge a draft without marking it ready
- Assumes checks never run on a draft pull request
- Says reviewers cannot comment until it is ready
- Confuses a draft with a WIP title prefix or label