swaymsg - Man Page

Send messages to a running instance of sway over the IPC socket.


swaymsg [options...] [message]


-h,  --help

Show help message and quit.

-m,  --monitor

Monitor for responses until killed instead of exiting after the first response. This can only be used with the IPC message type subscribe. If there is a malformed response or an invalid event type was requested, swaymsg will stop monitoring and exit.

-p,  --pretty

Use pretty output even when not using a tty.

-q,  --quiet

Sends the IPC message but does not print the response from sway.

-r,  --raw

Use raw output even if using a tty.

-s,  --socket <path>

Use the specified socket path. Otherwise, swaymsg will ask sway where the socket is (which is the value of $SWAYSOCK, then of $I3SOCK).

-t,  --type <type>

Specify the type of IPC message. See below.

-v,  --version

Print the version (of swaymsg) and quit.

Ipc Message Types


The message is a sway command (the same commands you can bind to keybindings in your sway config file). It will be executed immediately.

See sway(5) for a list of commands.

  • Command expansion is performed twice: once by swaymsg, and again by sway. If you have quoted multi-word strings in your command, enclose the entire command in single-quotes. For example, use swaymsg 'output "Foobar Display" enable' instead of swaymsg output "Foobar Display" enable.
  • If you are proving a command that contains a leading hyphen (-), insert two hyphens (--) before the command to signal to swaymsg not to parse anything beyond that point as an option. For example, use swaymsg -- mark --add test instead of swaymsg mark --add test.

Gets a JSON-encoded list of workspaces and their status.


Gets a JSON-encoded list of current inputs.


Gets a JSON-encoded list of current outputs.


Gets a JSON-encoded layout tree of all open windows, containers, outputs, workspaces, and so on.


Gets a JSON-encoded list of all seats, its properties and all assigned devices.


Get a JSON-encoded list of marks.


Get a JSON-encoded configuration for swaybar.


Get JSON-encoded version information for the running instance of sway.


Gets a JSON-encoded list of currently configured binding modes.


Gets JSON-encoded info about the current binding state.


Gets a JSON-encoded copy of the current configuration.


Sends a tick event to all subscribed clients.


Subscribe to a list of event types. The argument for this type should be provided in the form of a valid JSON array. If any of the types are invalid or if a valid JSON array is not provided, this will result in a failure.

Return Codes




swaymsg errors such as invalid syntax, unable to connect to the ipc socket or unable to parse sway's reply


Sway returned an error when processing the command (ex. invalid command, command failed, and invalid subscription request)

See Also

sway(5) sway-bar(5) sway-input(5) sway-output(5) sway-ipc(7)

Referenced By

sway(1), sway(5), swayidle(1), sway-ipc(7).