Can't toggle mark mode using the keyboard shortcut (Ctrl+Shift+M) / mark mode disappeared? #23984

Closed
opened 2026-01-31 08:58:09 +00:00 by claunia · 7 comments
Owner

Originally created by @bigtanuki64 on GitHub (Jan 21, 2026).

Windows Terminal version

1.23.13503.0

Windows build number

10.0.26200.0

Other Software

No response

Steps to reproduce

  • remove settings.json to have it regenerated by WT
  • open WT
  • try pressing ctrl+shift+m
  • nothing happens

You could also try adding this to your config (below config is abbreviated):

    "actions":
    [
        {
            "command": "toggleMarkMode",
            "id": "Terminal.ToggleMarkMode"
        }
    ],
    "keybindings": 
    [
        {
            "id": "Terminal.ToggleMarkMode",
            "keys": "ctrl+shift+m"
        }
    ],

Expected Behavior

I expect mark mode to be toggled by the default keyboard shortcut. It is bound by default in Settings -> Actions -> Toggle mark mode: ctrl+shift+m.

Oh and also, the docs aren't up to date from what I can see. I was unable to add "toggleMarkMode" to the actions array in settings.json like this:

    "actions":
    [
        {
            "command":
            {
                "action": "toggleMarkMode",
                "input": "",
                "keys": "ctrl+shift+m"
            }
        }
    ],

In fact, "toggleMarkMode" doesn't show up in vscode's autocomplete anymore, like the other settings do.

Actual Behavior

Nothing. I am able to toggle mark mode by opening the command palette and searching for "toggle mark mode" however.

Originally created by @bigtanuki64 on GitHub (Jan 21, 2026). ### Windows Terminal version 1.23.13503.0 ### Windows build number 10.0.26200.0 ### Other Software _No response_ ### Steps to reproduce - remove `settings.json` to have it regenerated by WT - open WT - try pressing ctrl+shift+m - nothing happens You could also try adding this to your config (below config is abbreviated): ```json "actions": [ { "command": "toggleMarkMode", "id": "Terminal.ToggleMarkMode" } ], "keybindings": [ { "id": "Terminal.ToggleMarkMode", "keys": "ctrl+shift+m" } ], ``` ### Expected Behavior I expect mark mode to be toggled by the default keyboard shortcut. It *is* bound by default in Settings -> Actions -> Toggle mark mode: ctrl+shift+m. Oh and also, the docs aren't up to date from what I can see. I was unable to add "toggleMarkMode" to the actions array in settings.json like this: ```json "actions": [ { "command": { "action": "toggleMarkMode", "input": "", "keys": "ctrl+shift+m" } } ], ``` In fact, "toggleMarkMode" doesn't show up in vscode's autocomplete anymore, like the other settings do. ### Actual Behavior Nothing. I am able to toggle mark mode by opening the command palette and searching for "toggle mark mode" however.
claunia added the Needs-TriageIssue-BugNeeds-Attention labels 2026-01-31 08:58:09 +00:00
Author
Owner

@DHowett commented on GitHub (Jan 21, 2026):

Curious! Is there a chance something else on your system is hooking Ctrl+Shift+M? None of us here can reproduce this issue.

@DHowett commented on GitHub (Jan 21, 2026): _Curious!_ Is there a chance something else on your system is hooking <kbd>Ctrl+Shift+M</kbd>? None of us here can reproduce this issue.
Author
Owner

@udaysahu09 commented on GitHub (Jan 21, 2026):

I was able to reproduce this issue on Windows Terminal 1.23.x.

Using the new-style configuration (actions + keybindings), I added:

  • an action with the command "toggleMarkMode"
  • a keybinding referencing that action id (ctrl+shift+m)

The keybinding does not trigger any behavior, while the same command works correctly when invoked from the Command Palette ("Toggle Mark Mode").

This indicates that toggleMarkMode is available as a Command Palette action but is not properly exposed or handled by the keybinding action map. This appears to be a missing or incomplete action registration rather than a configuration issue.

— Uday Chand Sahu

@udaysahu09 commented on GitHub (Jan 21, 2026): I was able to reproduce this issue on Windows Terminal 1.23.x. Using the new-style configuration (actions + keybindings), I added: - an action with the command "toggleMarkMode" - a keybinding referencing that action id (ctrl+shift+m) The keybinding does not trigger any behavior, while the same command works correctly when invoked from the Command Palette ("Toggle Mark Mode"). This indicates that toggleMarkMode is available as a Command Palette action but is not properly exposed or handled by the keybinding action map. This appears to be a missing or incomplete action registration rather than a configuration issue. — Uday Chand Sahu
Author
Owner

@bigtanuki64 commented on GitHub (Jan 22, 2026):

Thanks for confirming, @udaysahu09.

@DHowett, I do have AutoHotKey installed but disabling or uninstalling it doesn't make a difference.

@bigtanuki64 commented on GitHub (Jan 22, 2026): Thanks for confirming, @udaysahu09. @DHowett, I do have AutoHotKey installed but disabling or uninstalling it doesn't make a difference.
Author
Owner

@DHowett commented on GitHub (Jan 24, 2026):

Curious. @bigtanuki64 if you add a key binding for ctrl+shift+m to Terminal.OpenNewTab:

        {
            "id": "Terminal.OpenNewTab",
            "keys": "ctrl+shift+m"
        }

Does it open a new tab? You can compare it with Ctrl+Shift+T.

@DHowett commented on GitHub (Jan 24, 2026): Curious. @bigtanuki64 if you add a key binding for `ctrl+shift+m` to `Terminal.OpenNewTab`: ```json { "id": "Terminal.OpenNewTab", "keys": "ctrl+shift+m" } ``` Does it open a new tab? You can compare it with <kbd>Ctrl+Shift+T</kbd>.
Author
Owner

@bigtanuki64 commented on GitHub (Jan 28, 2026):

@DHowett It doesn't open a new tab, no. I wonder if you're right that there's something else hijacking that specific shortcut, but I can't find any suspicious background apps... Here are my action and keybinding arrays from settings.json:

"actions": 
    [
        {
            "command": 
            {
                "action": "scrollUp"
            },
            "id": "User.scrollUp.0"
        },
        {
            "command": "scrollDownPage",
            "id": "User.scrollDownPage"
        },
        {
            "command": 
            {
                "action": "copy"
            },
            "id": "User.copy.644BA8F2"
        },
        {
            "command": "scrollUpPage",
            "id": "User.scrollUpPage"
        },
        {
            "command": "paste",
            "id": "User.paste"
        },
        {
            "command": 
            {
                "action": "splitPane",
                "split": "auto",
                "splitMode": "duplicate"
            },
            "id": "User.splitPane.A6751878"
        },
        {
            "command": "find",
            "id": "User.find"
        },
        {
            "command": 
            {
                "action": "scrollDown"
            },
            "id": "User.scrollDown.0"
        },
        {
            "command": 
            {
                "action": "clearBuffer",
                "clear": "all"
            },
            "id": "User.clearBuffer.87C324ED"
        },
        {
            "command": 
            {
                "action": "openNewTab"
            },
            "id": "Terminal.OpenNewTab"
        }
    ],
    "keybindings": 
    [
        {
            "id": "User.copy.644BA8F2",
            "keys": "ctrl+shift+c"
        },
        {
            "id": "User.paste",
            "keys": "ctrl+shift+v"
        },
        {
            "id": "User.scrollDownPage",
            "keys": "ctrl+shift+d"
        },
        {
            "id": "User.scrollUp.0",
            "keys": "ctrl+shift+k"
        },
        {
            "id": "User.find",
            "keys": "ctrl+shift+f"
        },
        {
            "id": "User.splitPane.A6751878",
            "keys": "alt+shift+d"
        },
        {
            "id": "User.scrollDown.0",
            "keys": "ctrl+shift+j"
        },
        {
            "id": "User.scrollUpPage",
            "keys": "ctrl+shift+u"
        },
        {
            "id": "User.clearBuffer.87C324ED",
            "keys": "ctrl+l"
        },
        {
            "id": "Terminal.OpenNewTab",
            "keys": "ctrl+shift+m"
        }
    ],
@bigtanuki64 commented on GitHub (Jan 28, 2026): @DHowett It doesn't open a new tab, no. I wonder if you're right that there's something else hijacking that specific shortcut, but I can't find any suspicious background apps... Here are my action and keybinding arrays from settings.json: ```json "actions": [ { "command": { "action": "scrollUp" }, "id": "User.scrollUp.0" }, { "command": "scrollDownPage", "id": "User.scrollDownPage" }, { "command": { "action": "copy" }, "id": "User.copy.644BA8F2" }, { "command": "scrollUpPage", "id": "User.scrollUpPage" }, { "command": "paste", "id": "User.paste" }, { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "id": "User.splitPane.A6751878" }, { "command": "find", "id": "User.find" }, { "command": { "action": "scrollDown" }, "id": "User.scrollDown.0" }, { "command": { "action": "clearBuffer", "clear": "all" }, "id": "User.clearBuffer.87C324ED" }, { "command": { "action": "openNewTab" }, "id": "Terminal.OpenNewTab" } ], "keybindings": [ { "id": "User.copy.644BA8F2", "keys": "ctrl+shift+c" }, { "id": "User.paste", "keys": "ctrl+shift+v" }, { "id": "User.scrollDownPage", "keys": "ctrl+shift+d" }, { "id": "User.scrollUp.0", "keys": "ctrl+shift+k" }, { "id": "User.find", "keys": "ctrl+shift+f" }, { "id": "User.splitPane.A6751878", "keys": "alt+shift+d" }, { "id": "User.scrollDown.0", "keys": "ctrl+shift+j" }, { "id": "User.scrollUpPage", "keys": "ctrl+shift+u" }, { "id": "User.clearBuffer.87C324ED", "keys": "ctrl+l" }, { "id": "Terminal.OpenNewTab", "keys": "ctrl+shift+m" } ], ```
Author
Owner

@bigtanuki64 commented on GitHub (Jan 28, 2026):

@DHowett ...well this is embarrassing. Turns out a ThinkPad fan control service I installed awhile ago called TPFanControl does hijack ctrl+shift+m. Sorry for wasting y'alls time.

@udaysahu09 Check if you have installed TPFanControl too, maybe you have the same issue as me.

@bigtanuki64 commented on GitHub (Jan 28, 2026): @DHowett ...well this is embarrassing. Turns out a ThinkPad fan control service I installed awhile ago called `TPFanControl` *does* hijack `ctrl+shift+m`. Sorry for wasting y'alls time. @udaysahu09 Check if you have installed `TPFanControl` too, maybe you have the same issue as me.
Author
Owner

@zadjii-msft commented on GitHub (Jan 28, 2026):

I'm glad you got it figured out! Hopefully this thread will help someone else in the future too ☺️

@zadjii-msft commented on GitHub (Jan 28, 2026): I'm glad you got it figured out! Hopefully this thread will help someone else in the future too ☺️
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#23984