Skip to main content

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:
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.
if [[ -n "$FIREBENDER_TERMINAL" ]]; then
source ~/.firebender-hooks.sh
fi

Custom Tools via Terminal

Create commands for common agent workflows. List them in your global rules so the agent knows they’re available.
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.
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