This is the most reliable way to "complete" a quest. The game runs on a system of "facts." Once a specific fact is registered (e.g., "Quest_GeraldFoundCiri"), the game marks the associated stage as done.
The Command:
addfact('qNAME_fact')
How to use it:
Usually, adding the final fact for a quest forces the game to mark it as completed. While there is no master list for every single quest ID readily available in-game, the logic is generally:
q[QuestID]_finished or q[QuestID]_completed.
Example:
If you want to finish the quest "Missing in Action" (known in files as q302), you might type:
addfact('q302_finished') witcher 3 complete quest console command
Note: You will have to guess the Quest ID or look it up on a wiki. Common prefixes are q followed by a number (e.g., q101, q302, q505).
If completequest() feels too blunt, try these:
Completing quests with the console is not like using a “skip” button in a modern AAA game. The Witcher 3’s world state is held together by a web of facts (variables). Skipping blindly can: This is the most reliable way to "complete" a quest
Before you can complete any quests, you need to activate the console. The vanilla game has it disabled by default. You have two options:
Everyone has experienced it: You clear a monster den, but the quest says “0/5 monsters killed.” Instead of reloading a save from 2 hours ago, use the console to add the fact for that objective. For example, addfact(q999_killed_monsters_5).
Some players prefer a simpler command that often works for main story quests: How to use it: Usually, adding the final
questfinished(qquest_id)
Or:
finishquest(qquest_id)
These are less precise but quicker. They fail often on complex side quests with branching paths. Test with caution. For 100% reliability, stick to addfact with specific stage IDs.
To skip a quest, you generally need to add three facts: