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

# Terminal Tool

> Agent terminal execution capabilities

## Customizing Agent Terminal

Agent terminals run in the same environment as your regular terminal. For customizing your agent's terminal experience, check for the `FIREBENDER_TERMINAL=true` environment variable that is automatically set in all Firebender terminals.

For example, in your `~/.zprofile` or `~/.bashrc`:

```bash theme={null}
if [[ -n "$FIREBENDER_TERMINAL" ]]; then
# Custom settings for Firebender agent terminals
export PS1="🔥 \W $ "  # Custom prompt for agent terminals
fi
```

## Terminal Hooks

Use `FIREBENDER_TERMINAL=true` to run custom commands, load aliases, or source scripts specifically for agent terminals.

```bash theme={null}
if [[ -n "$FIREBENDER_TERMINAL" ]]; then
source ~/.firebender-hooks.sh
fi
```

## Custom Tools via Terminal

Create commands for common agent workflows. List them in your [rules](/multi-agent/global-rules) so the agent knows they're available.

```bash theme={null}
if [[ -n "$FIREBENDER_TERMINAL" ]]; then
    # Full test suite with coverage
    test-full() {
        npm run lint && npm test -- --coverage && npm run build
    }
    
    # Deploy to staging
    deploy-staging() {
        git push staging main && kubectl rollout status deployment/app -n staging
    }
fi
```

## Command Permissioning

Block or restrict commands by overriding them in agent terminals.

```bash theme={null}
if [[ -n "$FIREBENDER_TERMINAL" ]]; then
    # Block dangerous commands
    rm() {
        echo "rm is disabled in agent terminals"
        return 1
    }
    
    # Restrict to read-only operations
    kubectl() {
        if [[ "$1" == "delete" || "$1" == "apply" ]]; then
            echo "kubectl write operations blocked"
            return 1
        fi
        command kubectl "$@"
    }
fi
```
