---
title: "Built-in terminal"
description: "Use a shell inside the UI, and understand how it differs from agent commands."
lang: en
---

Bi has two places where commands run. They are easy to confuse, so start with the difference:

| Entry point | Who uses it | Where the output goes |
| --- | --- | --- |
| **Terminal panel** | You | Shown on screen only; it does not enter the model’s context |
| **Agent command** | The agent | Fed back to the agent so it can continue the task |

## Terminal panel

The “Terminal” in the UI is a persistent shell for you:

- Its working directory is the current session’s workspace; without a session it uses the global workspace
- Output appears line by line, with no mojibake for Chinese
- Its output is shown to you only, **never sent to the model automatically**

## Agent commands

Commands run by the agent execute at the workspace root and feed their output back to it:

- Bi asks before running them (unless you auto-approved that action type)
- Commands pass through [dangerous command interception](/docs/advanced/intercept-rules)

So “command output enters the context” applies only to agent commands. If you want the agent to see a command’s result, have the agent run it rather than running it yourself and pasting the output.

## About network access

Agent commands can reach the network (downloading files, installing dependencies, pulling code). That is part of the feature, and it means:

- A local model does not imply “never online” — a command can still make network requests
- The confirmation before a command is the main human checkpoint; pay attention to every run you approve

## Related

- [Operations that need approval](/docs/configuration/permissions)
- [Workspace](/docs/using-bi/workspace)
