---
title: Interactive REPL
description: The interactive shell with tab completion, history, and inline pipelines.
---

# Interactive REPL

Launch the REPL by running `devv` with no arguments:

```bash
devv
```

```
  devv v0.1.0 — type a command or "help"

devv >
```

## Features

### Tab completion

Press `Tab` to autocomplete tool names and subcommands:

```
devv > js<Tab>
json     jwt

devv > json <Tab>
format   minify   validate
```

### Command history

Use `↑` / `↓` arrows to cycle through previous commands. History persists across sessions.

### Inline pipelines

Chain commands with `|` directly in the REPL:

```
devv > json format {"a":1,"b":2} | base64 encode
eyJhIjogMSwgImIiOiAyfQ==

devv > uuid | hash - sha256
a1b2c3d4...
```

### Multi-line input

For large JSON or text, paste directly — the REPL handles multi-line input.

## Commands

| Command | Description |
|---------|-------------|
| `help` | Show available commands |
| `exit` / `quit` / `Ctrl+D` | Exit the REPL |
| `clear` | Clear the screen |
| `history` | Show command history |
| `alias <name> = <command>` | Create a shortcut |

## Aliases in the REPL

Create shortcuts for commands you use often:

```
devv > alias jf = json format
devv > alias h256 = hash - sha256
devv > alias uu = uuid --count 5

devv > jf {"a":1}
{
  "a": 1
}
```

Aliases persist across sessions. See [Aliases](/aliases) for more details.

## Tips

- The REPL auto-detects whether input looks like JSON and adjusts parsing
- Errors show in red with helpful messages
- Pipe output works: `devv > uuid | hash - sha256` runs both steps inline
- Server tools work in the REPL too (requires `devv login` first)
