# Actions (/docs/v0.1/keybindings/actions)



A binding names a full action reference such as `core:new-pane-right`. Run:

```bash
koshi actions list
koshi actions explain core:new-pane-right
```

`list` shows actions implemented by the running version. `explain` shows one
action's description, scope, accepted targets, and related CLI command.

## Pane actions [#pane-actions]

| Action                        | Result                                  |
| ----------------------------- | --------------------------------------- |
| `core:new-pane`               | New shell pane in configured direction  |
| `core:new-pane-left`          | New shell pane left                     |
| `core:new-pane-down`          | New shell pane below                    |
| `core:new-pane-up`            | New shell pane above                    |
| `core:new-pane-right`         | New shell pane right                    |
| `core:new-pane-stacked`       | Add shell pane to focused stack         |
| `core:run`                    | Run a command in a new pane             |
| `core:close-pane`             | Close focused pane                      |
| `core:close-pane-tree`        | Close pane and every process it started |
| `core:resize-pane`            | Resize along an explicit edge           |
| `core:resize-pane-left`       | Move border left                        |
| `core:resize-pane-down`       | Move border down                        |
| `core:resize-pane-up`         | Move border up                          |
| `core:resize-pane-right`      | Move border right                       |
| `core:focus-pane`             | Focus an explicit pane                  |
| `core:focus-pane-left`        | Focus pane left                         |
| `core:focus-pane-down`        | Focus pane below                        |
| `core:focus-pane-up`          | Focus pane above                        |
| `core:focus-pane-right`       | Focus pane right                        |
| `core:toggle-pane-fullscreen` | Toggle focused-pane fullscreen          |
| `core:write-to-pane`          | Send text to a pane                     |

## Tab, session, and client actions [#tab-session-and-client-actions]

| Action              | Result                         |
| ------------------- | ------------------------------ |
| `core:new-tab`      | Create tab                     |
| `core:close-tab`    | Close focused tab              |
| `core:focus-tab`    | Focus explicit tab             |
| `core:next-tab`     | Focus next tab                 |
| `core:previous-tab` | Focus previous tab             |
| `core:move-tab`     | Move tab to another index      |
| `core:lock`         | Enable pass-through lock mode  |
| `core:unlock`       | Disable pass-through lock mode |
| `core:toggle-lock`  | Toggle pass-through lock mode  |
| `core:mouse-select` | Toggle mouse-selection mode    |
| `core:quit`         | End koshi                      |

## Binding rules [#binding-rules]

Write the namespace: `core:new-tab`, not `new-tab`. Bindings accept no action
arguments. Fixed choices belong in the action name; open values such as a pane
id, tab index, or text belong to the CLI.

```kdl title="keybinding.kdl"
version 1

mode "normal" {
    bind "<A-h>" "core:focus-pane-left"
    bind "<A-l>" "core:focus-pane-right"
}
```
