Witcher 3 Complete Quest Console Command May 2026

Before you can enter commands, you need to unlock the console window.

  • Open the file general.ini with Notepad.
  • Scroll to the bottom of the file and add the following line:
    DBGConsoleOn=true
    
  • Save the file and close it.
  • When in-game, press the ~ (tilde) or F1 key to open the console.

  • 1. Not all quests can be completed this way
    Some quests have hard-coded stages. The game expects specific actions to happen (cutscenes, NPC movements). Completing them via console may:

    2. No “incremental completion”
    completequest() finishes the entire quest, not a single objective. If you just want to skip one sub-step, you need addfact() or stage-specific commands (more advanced).

    3. Achievements
    Using the console may disable achievements for that session (though many players report they still unlock). If you care about Steam/GOG achievements, save, restart the game, and reload without using console commands.

    4. Multi-stage quests
    Example: “The Lord of Undvik” has several phases. Completing it early might make Hjalmar disappear permanently.

    | Command | Function | | :--- | :--- | | addfact(key) | Creates or sets a fact to 'true.' This is your primary tool. | | removefact(key) | Sets a fact to 'false.' Useful if you over-advance a quest. | | listfacts(string) | Searches for existing facts. Essential for finding the right keyword. |

    You cannot use quest names. You cannot type addfact("The Lord of Undvik"). You must use the internal, case-sensitive keywords.

    Fog clung to the pines like breath. Lanterns in the village guttered, their light swallowed by drifting mist. They called the place Hallowfen, though no saint had ever blessed it. Only bargains. Only debts.

    Maelis, a witcher by trade and by mark, pushed her way through the narrow lane, cloak soaked from the swamp’s exhalations. The medallion at her throat thrummed weakly — not danger exactly, but a resonance with something pale and patient beneath the peat. She’d come for coin and for the one thing no one in Hallowfen could afford: answers.

    Her client, a farmer named Joren, met her beneath a sagging porch. His hands trembled around a leather purse; his eyes were hollow with an exhausted superstition.

    “It takes the children,” he said without preamble. “At moonrise it calls from the reeds, and they go. We found footprints like a naked man’s, but the mud shows no weight. The midwife swears she heard singing from the barrow. I… I can’t—”

    Maelis counted the coins by habit rather than need. She accepted them, folded them into a pocket already heavy with promises. “Tell me everything,” she said. “Truth, not prayer.”

    They spoke until the moon lifted high and white-smeared above the pines. Children vanishing, songs heard across the water, strange effigies of twined reeds and bone. A pattern she’d seen before in old folktales and fresher corpses. Not a specter of rage, but a bargaining spirit: an osseous thing that kept old pacts and measured new ones.

    She trailed the reeds to the barrow at the fen’s mouth. Motes of pale fungus glowed in clusters like broken teeth. There, amid the sodden heather, stood a cairn older than the village’s founding—stones scratched with sigils that tasted of iron and salt. A child’s scarf had been knotted among them.

    The medallion shivered, then went still.

    Before she could read the stones, a figure rose like smoke from the marsh. He smelled of riverweed and old grief. He wore a crown of woven bones and his voice was the clack of driftwood. witcher 3 complete quest console command

    “You come with coin and steel,” he said. “Witcher. You come to bargain.”

    Maelis braced. Her silver sword sang against its sheath. “I came for the children.”

    “Aye.” The crown tilted. “All bargains have balance. What will you offer for them?”

    Witchers were paid with coin for monsters and with steel for things that bled. For bargains, they paid with other things: memories, favors, names. Maelis considered the choices. She had no family left to wager, no oaths to burn but one—the memory of a girl who had once saved her from a wolf when she was a child, a softness she kept behind an iron wall. She had not spoken her name aloud in ten years.

    “I offer a memory,” she said. “A song I have carried since I was small.” Her voice shortened. “The first time my mother laughed. I will trade it.”

    The crown’s grin showed gaps like broken teeth. “Memories sustain us,” it said. “They taste of warmth. But is one memory enough for several childhoods?”

    “No.” Maelis drew the last coin from her pocket and placed it on the cairn. “And I will take a promise.”

    The spirit’s eyes — deep, slow pools — watched her. “You cannot take that,” it breathed.

    “I will,” she said. “I will take this: in seven nights, Hallowfen will forget me. No one will remember I ever stood at their door. My face will be dust in songs. But the children will be returned, and the debt erased from the fen.”

    Silence held like a blade. Binding a memory was witchcraft near enough to magic to be dangerous, and witchers were not supposed to wager their names. But Maelis had a face that tireless sorrow had worn thin. She wanted the village to live without the shadow she cast.

    The crown nodded once. “A steep trade. You give away later’s warmth to warm them now. Done.”

    They sealed the bargain as the swamp exhaled—barter sealed with song and salt. Maelis felt the offered memory like a pebble dislodged from a pocket. It slid warm and light into the crown’s lattice and was gone. In its place, a cool emptiness settled behind her eyes where the laughter once lived.

    When the first child stumbled from the reeds at dawn, the village heaved as if waking from a fever. They found one by one, eyes blank with mud, mouths still humming a reed-song they could not place. Mothers wept, fathers cursed the barrow and then wept as well. The children were safe.

    But by the third morning, the butcher’s wife looked at Maelis and frowned. “You’re a witcher?” she asked, as if trying to put a label to a shadow. She could not call the witcher by name. There was no name in the mouths of the villagers, no stories told over ale, no placards of thanks. Maelis had become a ghost in the ledger of their lives.

    She walked the lanes like a promise unclaimed. People welcomed strangers and bartered for bread, but no one asked about the woman who’d found their children. She left and returned, took coin and left, and when she paused to listen she realized the village had lost a thread: the laughter she had given away would not return to her. Memory was a thin, sharp thing; in giving it, she had traded a part of her heart. Before you can enter commands, you need to

    Seven nights later, at the barrow, the crown of woven bone waited for her. The spirit bowed with an ache that might have been respect.

    “You kept the promise,” it said.

    “And you?” she asked.

    It lifted a hand to the medallion around its neck — a small carved stone, shaped oddly like a child’s palm. “We forget only what others forget willingly,” it said. “Your face is gone here. But in the fen, where bargains go to sleep, we will remember you in the places people no longer look.”

    Maelis felt something like frost take her bones. “Then I have nothing left to trade,” she said.

    “You have what all who make bargains keep,” the spirit replied. “A story that is your own and no one else’s. You will wake at night and remember a laugh that no one can give back. That is a debt and a grace.”

    She turned away before her throat could tighten. Witchers were meant to be instruments—answers for coin, arrows for fear. But bargains carved in bone and made with memory were not instruments. They were choices.

    She walked until the trees thinned and the bog gave way to a road. Someone would tell of a witcher who saved children in a fen, if stories favored them. Somewhere, another village would learn to sing a different song to keep the reeds at bay. Maelis carried the emptiness the way a swordman carries a scar — not chosen last minute, not expected to vanish, only to be felt when the night was long.

    In time, she learned to listen for the echo of a laugh that no one else could hear, and when it came she would sing it softly into the moonlight so that at least one voice remembered what she had given away.

    The fen kept its own ledger. Bargains were ledger entries with tiny claws. And Maelis, who had paid in memory, walked on—an unrecorded mercy in a world that kept account with sharper edges.

    — End

    If you want a different tone, scene, or to follow Maelis further (flashback, fight with a revenant, or consequences years later), tell me which direction and I’ll continue.

    In The Witcher 3: Wild Hunt, completing a quest via console commands isn't as simple as a single "finish" button. Instead, you must use the addfact() command to manually trigger specific quest phases or outcomes. How to Enable the Debug Console

    Before using any commands, you must enable the hidden debug console in your game files.

    Navigate to your game directory (e.g., Steam\steamapps\common\The Witcher 3 Wild Hunt\bin\config\base). Open general.ini with a text editor like Notepad. Open the file general

    Add the line DBGConsoleOn=true under the [General] section and save the file. In-game, press the ~ (tilde) or F2 key to open the console. The Command: addfact()

    To force a quest to complete or progress, use the following syntax:addfact(quest_id_completed)

    This command adds a "fact" to the game's internal database, tricking it into believing a specific objective has been met. Common Quest Completion Examples Complete "Now or Never": addfact(q309_completed)

    Complete "The Last Wish" (Romance Yen): addfact(sq202_yen_girlfriend)

    Complete "Reason of State" (Kill Radovid): addfact(mq3035_fdb_radovid_dead) Complete "Blood Gold": addfact(lw_gr39_treasure_opened) Finding Specific Quest IDs

    Because there are hundreds of quests, you often need to find the specific "baseName" or "fact ID" associated with your bugged quest. Guide :: The Witcher 3 Console Commands: Ultimate Edition

    If you are pressing ~ (tilde) and nothing happens, the console is disabled by default.

    Method 1 (Manual):

    Method 2 (Mods): Install the Developer Console Enabler mod from Nexus Mods. It also adds useful QoL features like auto-complete with Tab.

    In the sprawling, 100+ hour epic that is The Witcher 3: Wild Hunt, repetition is the enemy of the veteran player. Whether you are on your fifth New Game Plus playthrough, testing a new mod setup, or trying to recover a save file corrupted 80 hours in, the prospect of redoing "Collect 'Em All" or the "Paperchase" quest can be soul-crushing.

    Enter the Console Command. For PC players, the developer console is the closest thing to god-mode. But while most players know addmoney(1000) or levelup(10), the most powerful—and most dangerous—tool in the arsenal is the ability to complete quests instantly.

    This article provides the definitive guide to using addfact and removefact to manipulate quest states, the risks involved, and the exact syntax you need to skip the grind.

    You’ve seen the cutscenes a hundred times. You want to experience the Bloody Baron’s conclusion but don’t want to chase his wife through the swamp again. Use addfact(q310_completed) and move on.

    Sometimes you don’t want to complete a quest. You just want to skip a broken part. For this, you use the exact stage fact.

    Let’s examine the quest "Wild at Heart" (Werewolf in Velen). Assume the fight glitches and the werewolf is invincible. You can force the next dialogue stage:

    Pro Tip: To find stages, use the command: showquestfacts(qquest_id)

    This prints every active fact for that quest to your console log, allowing you to see exactly which stages are incomplete.