aboutsummaryrefslogtreecommitdiff
path: root/website/src/content/docs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-31 22:44:55 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-31 22:44:55 +0300
commit018cbfb84ad9516be3121d2264c61d9a4a3aebc1 (patch)
tree9f69ac05520a669bb14092314cd35c331310f0da /website/src/content/docs
parente91b8abfcc5ca2bb61353e840e5f7bfcb0c913d9 (diff)
chore: finalize release docs and harden release flow
Diffstat (limited to 'website/src/content/docs')
-rw-r--r--website/src/content/docs/configuration.mdx12
-rw-r--r--website/src/content/docs/install.mdx6
2 files changed, 16 insertions, 2 deletions
diff --git a/website/src/content/docs/configuration.mdx b/website/src/content/docs/configuration.mdx
index 936cc3ac..189e2121 100644
--- a/website/src/content/docs/configuration.mdx
+++ b/website/src/content/docs/configuration.mdx
@@ -56,6 +56,15 @@ default_shell = "nu"
When unset or empty, Herdr uses `$SHELL`, then `/bin/sh`. This is an executable name or path, not a shell command line. Existing panes keep their current shell until they are recreated. Command panes still run through `/bin/sh -c`; detached custom command keybindings use Herdr's existing `/bin/sh -lc` path.
+Set how Herdr starts newly created interactive pane shells:
+
+```toml
+[terminal]
+shell_mode = "auto"
+```
+
+`shell_mode = "auto"` starts login shells on macOS so login-only PATH setup such as `/usr/libexec/path_helper` and Homebrew shell initialization runs in new panes. On other platforms, it keeps the existing non-login shell behavior. Use `"login"` to force login-shell startup, or `"non_login"` to opt out. Command panes, detached custom command keybindings, and explicit argv launches keep their existing command execution paths.
+
Set the working directory policy for new panes, tabs, and workspaces:
```toml
@@ -180,12 +189,15 @@ Custom commands use the same keybinding syntax.
key = "prefix+alt+g"
type = "pane"
command = "lazygit"
+description = "run lazygit"
```
`type = "pane"` opens a temporary pane and closes it when the command exits.
`type = "shell"` runs detached in the background.
+An optional `description` can be provided. When specified, this description is displayed in the keybind help panel (opened with `prefix+?`) in place of the default `'custom command'` label.
+
Custom commands receive `HERDR_SOCKET_PATH`, `HERDR_BIN_PATH`, `HERDR_ACTIVE_WORKSPACE_ID`, `HERDR_ACTIVE_TAB_ID`, `HERDR_ACTIVE_PANE_ID`, and `HERDR_ACTIVE_PANE_CWD` when those values are available. Shell commands run from the focused pane's working directory when Herdr can detect it.
## Theme
diff --git a/website/src/content/docs/install.mdx b/website/src/content/docs/install.mdx
index 434b5149..409b0d50 100644
--- a/website/src/content/docs/install.mdx
+++ b/website/src/content/docs/install.mdx
@@ -43,13 +43,15 @@ herdr update
`herdr update` is for installs managed by Herdr's own installer. Homebrew and Nix installs are updated through those package managers instead.
-By default, `herdr update` installs the new binary and leaves compatible running sessions alone, or asks before stopping sessions that must restart. To opt into experimental live server handoff for supported running sessions, run:
+By default, `herdr update` installs the new binary and leaves compatible running sessions alone. If an update changes Herdr's client/server protocol, Herdr asks whether to stop the old server after installing. Stop the old server to use the new version. Stopping exits pane processes. For the default session, run `herdr server stop`, then run `herdr` again. For a named session, run `herdr session stop <name>`, then run `herdr session attach <name>` again.
+
+To opt into experimental live server handoff for supported running sessions, run:
```bash
herdr update --handoff
```
-Live handoff does not apply to Homebrew or Nix package-manager updates. For those installs, update with the package manager, then restart any running Herdr servers that need the new binary.
+Live handoff does not apply to Homebrew or Nix package-manager updates. For those installs, update with the package manager, then restart that Herdr session when you are ready to use the new server. If a running session still uses the old server, stop it with `herdr server stop` or `herdr session stop <name>`, then run Herdr again.
## Install with Nix