actions erroneously converted to keybindings in settings.json #23069

Closed
opened 2026-01-31 08:31:23 +00:00 by claunia · 3 comments
Owner

Originally created by @Sebastian-Nielsen on GitHub (Mar 26, 2025).

Windows Terminal version

1.22.10731.0

Windows build number

Microsoft Windows [Version 10.0.26100.3476]

Other Software

No response

Steps to reproduce

  1. Have these actions only in settings.json:
	"actions": 
	[
		{
			"command": 
			{
				"action": "sendInput",
				"input": "←"
			},
			"id": "User.sendInput.2BEB7CF8",
			"keys": "alt+h"
		},
		{
			"command": 
			{
				"action": "sendInput",
				"input": "↓"
			},
			"id": "User.sendInput.2BEB7CF8",
			"keys": "alt+j"
		},
		{
			"command": 
			{
				"action": "sendInput",
				"input": "↑"
			},
			"id": "User.sendInput.2BEB7CF8",
			"keys": "alt+k"
		},
		{
			"command": 
			{
				"action": "sendInput",
				"input": "→"
			},
			"id": "User.sendInput.2BEB7CF8",
			"keys": "alt+l"
		}
	],
  1. Save the settings.json file.
  2. Observe that wsl reloads and when inspecting the settings.json file again, the content has changed to:
    "actions": 
    [
        {
            "command": 
            {
                "action": "sendInput",
                "input": "\u2192"
            },
            "id": "User.sendInput.2BEB7CF8"
        }
    ],
    "alwaysShowNotificationIcon": false,
    "alwaysShowTabs": false,
    "confirmCloseAllTabs": false,
    "copyFormatting": "none",
    "copyOnSelect": false,
    "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "keybindings": 
    [
        {
            "id": "User.sendInput.2BEB7CF8",
            "keys": "alt+h"
        },
        {
            "id": "User.sendInput.2BEB7CF8",
            "keys": "alt+j"
        },
        {
            "id": "User.sendInput.2BEB7CF8",
            "keys": "alt+l"
        },
        {
            "id": "User.sendInput.2BEB7CF8",
            "keys": "alt+k"
        }
    ],

Notice that the id of each of the keybindings are the exact same! This is wrong!

Expected Behavior

It seems like windows terminal is migrating my actions to keybindings and doing it incorrectly.

Actual Behavior

.

Originally created by @Sebastian-Nielsen on GitHub (Mar 26, 2025). ### Windows Terminal version 1.22.10731.0 ### Windows build number Microsoft Windows [Version 10.0.26100.3476] ### Other Software _No response_ ### Steps to reproduce 1. Have these actions only in settings.json: ```json "actions": [ { "command": { "action": "sendInput", "input": "←" }, "id": "User.sendInput.2BEB7CF8", "keys": "alt+h" }, { "command": { "action": "sendInput", "input": "↓" }, "id": "User.sendInput.2BEB7CF8", "keys": "alt+j" }, { "command": { "action": "sendInput", "input": "↑" }, "id": "User.sendInput.2BEB7CF8", "keys": "alt+k" }, { "command": { "action": "sendInput", "input": "→" }, "id": "User.sendInput.2BEB7CF8", "keys": "alt+l" } ], ``` 2. Save the settings.json file. 3. Observe that wsl reloads and when inspecting the settings.json file again, the content has changed to: ```json "actions": [ { "command": { "action": "sendInput", "input": "\u2192" }, "id": "User.sendInput.2BEB7CF8" } ], "alwaysShowNotificationIcon": false, "alwaysShowTabs": false, "confirmCloseAllTabs": false, "copyFormatting": "none", "copyOnSelect": false, "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}", "keybindings": [ { "id": "User.sendInput.2BEB7CF8", "keys": "alt+h" }, { "id": "User.sendInput.2BEB7CF8", "keys": "alt+j" }, { "id": "User.sendInput.2BEB7CF8", "keys": "alt+l" }, { "id": "User.sendInput.2BEB7CF8", "keys": "alt+k" } ], ``` Notice that the id of each of the keybindings are the exact same! This is wrong! ### Expected Behavior It seems like windows terminal is migrating my `actions` to `keybindings` and doing it incorrectly. ### Actual Behavior .
claunia added the Needs-TriageIssue-Bug labels 2026-01-31 08:31:23 +00:00
Author
Owner

@DHowett commented on GitHub (Mar 26, 2025):

Thanks for filing!

It looks like those actions have the same ID - and therefore they do represent the same action. :)

@DHowett commented on GitHub (Mar 26, 2025): Thanks for filing! It looks like those actions have the same ID - and therefore they do represent the same action. :)
Author
Owner

@Sebastian-Nielsen commented on GitHub (Mar 26, 2025):

Yeah, I just noticed as I hit post issue and so immediately closed it again. Sorry for the inconvenience. I can confirm it works when removing the duplicate ids

@Sebastian-Nielsen commented on GitHub (Mar 26, 2025): Yeah, I just noticed as I hit `post issue` and so immediately closed it again. Sorry for the inconvenience. I can confirm it works when removing the duplicate ids
Author
Owner

@DHowett commented on GitHub (Mar 26, 2025):

No no, that's totally fine. Our transition to adding IDs to actions has definitely been... perhaps not ideal. :)

@DHowett commented on GitHub (Mar 26, 2025): No no, that's totally fine. Our transition to adding IDs to actions has definitely been... perhaps not ideal. :)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#23069