> ## Documentation Index
> Fetch the complete documentation index at: https://jncpkg.org/llms.txt
> Use this file to discover all available pages before exploring further.

# jnc shell

> Start an interactive shell in the workspace environment.

# jnc shell

Starts an interactive shell session with the workspace environment activated. All packages installed in the environment are available on the `PATH`, and environment variables are set as if the environment were natively active.

The shell type is detected automatically from your current process (bash, zsh, fish). Run `exit` to leave the shell and return to your original environment.

The environment is automatically installed and updated before the shell starts, unless `--frozen` or `--as-is` is used.

**Alias:** `s`

## Usage

```bash theme={null}
jnc shell [OPTIONS]
```

## Options

| Option                      | Description                                                      |
| --------------------------- | ---------------------------------------------------------------- |
| `-e`, `--environment <ENV>` | The environment to activate in the shell. Defaults to `default`. |

### Update Options

| Option         | Description                                               |
| -------------- | --------------------------------------------------------- |
| `--frozen`     | Use the lockfile as-is, do not update it.                 |
| `--locked`     | Require the lockfile to be up-to-date, abort if not.      |
| `--no-install` | Do not install the environment before starting the shell. |
| `--as-is`      | Shorthand for `--frozen --no-install`.                    |

### Global Options

| Option                         | Description                                                       |
| ------------------------------ | ----------------------------------------------------------------- |
| `-m`, `--manifest-path <PATH>` | Path to `jnc.toml`, `pyproject.toml`, or the workspace directory. |

## Examples

### Start a shell in the default environment

```bash theme={null}
jnc shell
```

### Start a shell in a specific environment

```bash theme={null}
jnc shell --environment cuda
```

### Start a shell without updating the lock file

```bash theme={null}
jnc shell --frozen
```

### Start a shell without any updates or installs

```bash theme={null}
jnc shell --as-is
```
