Skip to main content

kule shell

Open your shell in the task's copy, outside the sandbox. What you change there is reviewed and committed like the agent's work.

Synopsis​

kule shell [OPTIONS] <TASK>

Description​

kule shell starts your login shell ($SHELL, or /bin/sh) with its working directory in the task's copy. Use it to look at the agent's work, run the app the agent built, or fix something by hand before you commit.

This shell is yours: it runs outside the sandbox, with your own access to files, network and credentials. It is a convenience, not a place to run something you do not trust; use kule exec for that.

What you change in the copy is part of the task's changes, like the agent's: kule status lists it and kule commit applies it.

KULE_TASK holds the task's id inside the shell. When you exit, Kule prints the copy's changes, and kule shell exits with the shell's exit code.

Kule refuses to open the shell while the task has changed the copy's git config or hooks. Your prompt's git status, or any git command you type, would run them outside the sandbox. Review those changes with kule status, then commit or roll them back first.

Arguments​

NameRequiredMeaning
TASKyesThe task's full id. See Naming a task.

Options​

OptionValueDefaultMeaning
--homepath~/.kuleKule's home (also KULE_HOME). See global options.

Examples​

Look around in the copy:

$ kule shell 3422f830
kule: in task 3422f830's copy, outside the sandbox; exit to come back
$ ls
Cargo.toml README.md src
$ exit
no changes

Fix something by hand, then commit it:

$ kule shell 3422f830
kule: in task 3422f830's copy, outside the sandbox; exit to come back
$ sed -i '' 's/hi /hello /' src/main.rs
$ exit
1 file changes: +0 ~1 -0
~ src/main.rs
~ function greet
$ kule commit 3422f830
committed 1 changes · checkpoint 2

Use a different shell:

SHELL=/bin/bash kule shell 3422f830

Refused after a git config change:

$ kule shell 3422f830
kule: the copy's git config changed, and git there would run it outside the sandbox; review it, then commit or roll it back before opening a terminal

Output​

LineMeaning
kule: in task <id>'s copy, outside the sandbox; exit to come backOn stderr, before the shell starts.
the change list after exitThe task's changes so far, as kule status shows them.

Errors and fixes​

MessageWhat to do
kule: the copy's git config changed, … / … hooks …Run kule status TASK, then kule commit (if you trust the change; a new hook is always denied) or kule rollback.
kule: could not start <shell>$SHELL names a program that does not exist.

In the app​

Open terminal in the task's ⋮ menu (Mod+T), or the Terminal panel (Ctrl+`). See Terminals and servers.

See also​

  • kule path: just the path, for cd or your editor.
  • kule exec: a command inside the sandbox.