2025-07-10 12:48:59 -07:00
---
2025-07-21 14:12:55 -07:00
title: "From the UI"
description: "How to use Open SWE from the UI"
2025-07-10 12:48:59 -07:00
---
2025-07-10 22:28:36 +00:00
Open SWE provides a powerful web interface that allows you to interact with the coding agent through a chat-like experience. The UI supports both automated and manual workflows, giving you control over how the agent processes your requests.
## Auto vs Manual Mode
The UI offers two distinct modes for handling your coding requests:
<Note>
2025-07-21 14:12:55 -07:00
You can toggle between auto and manual mode using the lightning bolt (⚡) icon
in the main input area.
2025-07-10 22:28:36 +00:00
</Note>
### Auto Mode
When **Auto Mode** is enabled (lightning bolt icon is highlighted):
2025-07-21 14:12:55 -07:00
2025-07-10 22:28:36 +00:00
- Plans are automatically accepted and executed without user intervention
- The agent proceeds directly from planning to implementation
- Ideal for straightforward requests where you trust the agent's planning
### Manual Mode
When **Manual Mode** is active (lightning bolt icon is not highlighted):
2025-07-21 14:12:55 -07:00
2025-07-10 22:28:36 +00:00
- You must manually review and accept proposed plans before execution
- Provides opportunity to edit, modify, or reject plans
- Allows for more control over the implementation approach
<Tip>
2025-07-21 14:12:55 -07:00
Start with manual mode for important changes to review the agent's approach
before execution.
2025-07-10 22:28:36 +00:00
</Tip>
## Manager Agent Capabilities
The Manager agent acts as the central orchestrator, intelligently routing your messages and managing the overall workflow. Here's what the Manager can and cannot do:
### What the manager _can_ do
<Steps>
<Step title="Respond to User Messages">
2025-07-21 14:12:55 -07:00
Provides contextual responses and status updates about ongoing operations.
You can ask the manager what it can do, what the status of different agents
is, etc.
2025-07-10 22:28:36 +00:00
</Step>
<Step title="Create New Planning Runs">
2025-07-21 14:12:55 -07:00
Initiates new planning sessions when you submit coding requests. If your
message contains a coding request, the manager will create a new planning
session & corresponding GitHub issue.
2025-07-10 22:28:36 +00:00
</Step>
<Step title="Send Messages to Active Planning Runs">
2025-07-21 14:12:55 -07:00
Forwards additional context or requirements to running planner sessions. If
you send a message while the planner is running, the manager can forward
that message to the planner, without interrupting its flow.
2025-07-10 22:28:36 +00:00
</Step>
<Step title="Resume Interrupted Planners">
2025-07-21 14:12:55 -07:00
Resumes planner sessions that were paused for the user to accept or reject
plans. If the planner has paused for plan acceptance, you can message the
manager with feedback about the plan. This will be forwarded to the planner,
and it will continue its flow based on your feedback.
2025-07-10 22:28:36 +00:00
</Step>
<Step title="Send Messages to Active Programmer Runs">
2025-07-21 14:12:55 -07:00
Provides additional context or instructions to running implementation
sessions. If you send a message while the programmer is running, the manager
can forward that message to the programmer, without interrupting its flow.
2025-07-10 22:28:36 +00:00
</Step>
<Step title="Create new tasks">
2025-07-21 14:12:55 -07:00
Creates new tasks, independent of the current request. If you send a message
to the manager with a request for a task that is unrelated to the current
request, or can be implemented in parallel via a different session, the
manager will create a new GitHub issue, and initiate a new planning session
for that issue.
2025-07-10 22:28:36 +00:00
</Step>
</Steps>
### What the Manager _cannot_ Do
<Note>
2025-07-21 14:12:55 -07:00
The Manager has several important limitations to ensure proper workflow
control:
2025-07-10 22:28:36 +00:00
</Note>
- **Cannot create new Programmer runs** - This only happens after plan acceptance or in auto mode.
- **Cannot stop running Planner/Programmer sessions** - To stop a session, you must click the cancel button in the UI.
- **Cannot re-plan while Programmer is running** - Once the programmer session has started, you can not go back to the planner. However, you can send a message to the manager which can be forwarded to the programmer.
- **Cannot open Pull Requests directly** - PRs are created automatically after Programmer completion (and changes are automatically committed anytime a file is modified).
- **Cannot accept plans in manual mode** - You must manually click accept for plan approval.
## Message Handling and Routing
The Manager intelligently classifies your messages and routes them to the appropriate component:
### Message Classification
When you send a message, the Manager analyzes:
2025-07-21 14:12:55 -07:00
2025-07-10 22:28:36 +00:00
- Current status of Planner and Programmer graphs
- Content and intent of your message
- Existing conversation context
- Active plans and tasks
### Routing Options
Based on the analysis, messages are routed to:
- **Start Planner**: For new coding requests requiring planning
- **Update Planner**: To add context to active planning sessions
- **Resume Planner**: To continue interrupted planning with new information
- **Update Programmer**: To provide context to active implementation sessions
- **Create New Issue**: For independent requests that should be separate GitHub issues
- **No Operation**: For messages that don't require specific routing
## Planning Runs
Planning runs are handled by the Planner graph, which creates detailed execution plans for your requests.
### Planning Process
<Steps>
<Step title="Context Gathering">
2025-07-21 14:12:55 -07:00
The Planner analyzes your repository and gathers relevant context about the
codebase
2025-07-10 22:28:36 +00:00
</Step>
<Step title="Plan Generation">
Creates a structured plan with specific, actionable steps
</Step>
<Step title="Plan Presentation">
2025-07-21 14:12:55 -07:00
Presents the proposed plan for review (in manual mode) or automatic
acceptance (in auto mode)
2025-07-10 22:28:36 +00:00
</Step>
</Steps>
### Plan Interruption
Plans are presented as interruptions that require user response:
2025-07-21 14:12:55 -07:00
2025-07-10 22:28:36 +00:00
- **Manual Mode**: You must explicitly accept or reject the plan
- **Auto Mode**: Plans are automatically accepted and execution begins
- **Plan Editing**: You can modify proposed plans before acceptance
- **Feedback**: You can provide feedback to the manager if you want the plan to be changed in some way
### Automatic Approval
When auto mode is enabled, plans are automatically accepted and implementation begins immediately after plan generation.
## Programmer Runs
Once a plan is accepted, the Programmer graph executes the implementation.
### Programming Process
<Steps>
<Step title="Plan Execution">
Works through each step of the accepted plan systematically
</Step>
<Step title="Code Implementation">
Makes actual changes to files in your repository
</Step>
<Step title="Progress Tracking">
Updates plan status and provides summaries of completed work
</Step>
<Step title="Pull Request Creation">
Automatically opens a PR with all changes when implementation is complete
</Step>
</Steps>
<Note>
2025-07-21 14:12:55 -07:00
The Programmer automatically commits changes after each step, ensuring your
work is preserved even if the session is interrupted.
2025-07-10 22:28:36 +00:00
</Note>
## Getting Started
To begin using the Open SWE UI:
<Steps>
<Step title="Select Repository">
Choose your GitHub repository and branch using the repository selector
</Step>
<Step title="Choose Mode">
Toggle auto/manual mode based on your preference for plan approval
</Step>
<Step title="Submit Request">
Type your coding request in the terminal input and press Cmd+Enter to send
</Step>
<Step title="Monitor Progress">
2025-07-21 14:12:55 -07:00
Watch as the Manager routes your request and coordinates the planning and
implementation
2025-07-10 22:28:36 +00:00
</Step>
</Steps>
<Note>
2025-07-21 14:12:55 -07:00
Make sure you have properly configured your GitHub App and authentication
before using the UI. See the [Development Setup](/setup/development) guide for
details.
2025-07-10 22:28:36 +00:00
</Note>