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

# Ask a Side Question with /btw

> Ask a quick side question in the praisonai code REPL without derailing the main task or polluting history.

In the `praisonai code` interactive REPL, `/btw <question>` answers a side question from a parallel, throwaway context — the main task's history, place, and momentum stay untouched.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent

agent = Agent(
    name="Coder",
    instructions="You are a coding assistant.",
)

# Launch an interactive session, then ask a side question mid-task:
#   $ praisonai code
#   > refactor the auth module to use the new token store
#   > /btw what does REDIS_TLS_URL do here?     # answered in a side panel
#   > (continue refactoring — history is unchanged)
```

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    Main[💬 Main Task] -->|/btw question| Side[🧠 Throwaway Agent<br/>no tools, no history]
    Side --> Panel[✨ btw panel<br/>side answer]
    Main -->|history unchanged| Main
    Panel -.->|--keep only| Note[📝 one-line note in history]

    classDef agent fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef side fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef output fill:#10B981,stroke:#7C90A0,color:#fff
    classDef opt fill:#6366F1,stroke:#7C90A0,color:#fff

    class Main agent
    class Side side
    class Panel output
    class Note opt
```

## Quick Start

<Steps>
  <Step title="Launch a coding session">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    praisonai code
    ```

    Start working on your main task as usual:

    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    > refactor the auth module to use the new token store
    ```
  </Step>

  <Step title="Ask a side question with /btw">
    Type `/btw` followed by your question:

    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    > /btw what does REDIS_TLS_URL do here?
    ```

    The answer renders in a distinct `btw` panel:

    ```
    ╭─ btw ────────────────────────────────────────────────╮
    │ REDIS_TLS_URL points the client at a TLS-secured      │
    │ Redis endpoint (rediss://). When set, the connection  │
    │ negotiates TLS instead of plain TCP.                  │
    ╰───────────────────────────────────────────────────────╯
    ```

    Nothing is appended to the main conversation — your refactor context is untouched.
  </Step>

  <Step title="Keep a one-line note (optional)">
    Add `--keep` to record a single one-line note in the main history:

    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    > /btw --keep what does REDIS_TLS_URL do here?
    ```
  </Step>
</Steps>

***

## How It Works

`/btw` builds a fresh, read-only `Agent` with minimal context — just your question plus the current working directory — and **no tools**, then runs it in isolation and renders the answer in a `btw` panel.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
sequenceDiagram
    participant User
    participant REPL
    participant Side as Throwaway Agent
    participant Main as Main History

    User->>REPL: /btw what does REDIS_TLS_URL do here?
    REPL->>Side: build fresh Agent (question + cwd, no tools)
    Side-->>REPL: side answer
    REPL-->>User: render in btw panel
    Note over Main: main history unchanged
    User->>REPL: /btw --keep <question>
    REPL->>Main: append one-line note
```

The main agent is never invoked for a side question. An empty question (`/btw` with no text) prints a usage hint instead of running anything.

***

## Options

The only flag is `--keep`.

| Form                     | Records in main history | Side answer panel        |
| ------------------------ | ----------------------- | ------------------------ |
| `/btw <question>`        | No — throwaway context  | Yes                      |
| `/btw --keep <question>` | Yes — one-line note     | Yes                      |
| `/btw` (empty)           | No                      | No — prints a usage hint |

***

## /btw vs /queue

Both defer work, but they touch the main task differently — `/btw` is a throwaway parallel context, `/queue` costs the main context.

|                      | `/btw`                                           | `/queue`                                   |
| -------------------- | ------------------------------------------------ | ------------------------------------------ |
| Context used         | A fresh, throwaway side agent                    | The main conversation                      |
| Touches main history | No (unless `--keep`)                             | Yes — the prompt lands in the main history |
| Tools                | None — read-only side agent                      | Full main-task tools on dequeue            |
| Use it when          | You need a quick lookup without losing your spot | The answer should influence the main task  |

Reach for `/btw` when the answer is just for you; reach for [`/queue`](/docs/features/bot-commands#queue) when the answer should feed the main task.

***

## Common Patterns

Look up an environment variable mid-refactor without derailing:

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> /btw what format does DATABASE_URL expect?
```

Confirm a library's behaviour while staying in the main task:

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> /btw does httpx retry on connection errors by default?
```

Keep a breadcrumb in history when the answer matters later:

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
> /btw --keep which port does the gateway bind to?
```

***

## Best Practices

<AccordionGroup>
  <Accordion title="Use /btw for context lookups, not follow-up work">
    `/btw` answers from a throwaway context with no tools — perfect for "what does this mean?" lookups. For work that changes files or should build on the main task, ask in the main conversation instead.
  </Accordion>

  <Accordion title="Prefer /queue when the answer should influence the main task">
    If the side answer needs to feed back into the task, `/queue` keeps it in the main history where the main agent can act on it. `/btw` intentionally discards its context.
  </Accordion>

  <Accordion title="Add --keep only when you want a breadcrumb">
    Default `/btw` leaves zero trace. Reach for `--keep` when you want a one-line reminder in the transcript that you looked something up — without pulling the full answer into context.
  </Accordion>

  <Accordion title="Keep questions self-contained">
    The side agent sees only your question and the current working directory — not the main conversation. Phrase the question so it stands on its own.
  </Accordion>
</AccordionGroup>

***

## Related

<CardGroup cols={2}>
  <Card title="/queue" icon="list-check" href="/docs/features/bot-commands#queue">
    Defer a prompt into the main history for the main task to act on.
  </Card>

  <Card title="/recap" icon="clock-rotate-left" href="/docs/features/bot-commands#recap">
    Render a read-only "where were we" summary of the session.
  </Card>

  <Card title="Shell Escape" icon="terminal" href="/docs/features/interactive-shell-escape">
    Run a shell command inline with `!cmd` without spending a model turn.
  </Card>

  <Card title="Slash Commands" icon="terminal" href="/docs/cli/slash-commands">
    The full interactive `/command` reference.
  </Card>
</CardGroup>
