Skip to content

docs: add Sandbox Grouping Strategy section to Application Settings#514

Open
jpelletier1 wants to merge 1 commit into
OpenHands:mainfrom
jpelletier1:docs/add-sandbox-grouping-strategy-settings
Open

docs: add Sandbox Grouping Strategy section to Application Settings#514
jpelletier1 wants to merge 1 commit into
OpenHands:mainfrom
jpelletier1:docs/add-sandbox-grouping-strategy-settings

Conversation

@jpelletier1
Copy link
Copy Markdown
Contributor

Summary

Document the Sandbox Grouping Strategy feature that was exposed to all users in OpenHands/OpenHands#14291.

Changes

  • Added new Sandbox Grouping Strategy section to the Application Settings documentation
  • Documented all 5 available strategies with clear descriptions:
    • No Grouping - Creates a new sandbox for each conversation (default)
    • Group by Newest - Adds to the most recently created sandbox
    • Least Recently Used - Adds to the oldest sandbox
    • Fewest Conversations - Adds to the least busy sandbox (load balancing)
    • Add to Any - Uses the first available sandbox
  • Added note about shared state implications when using grouping strategies

Related


This PR was created by an AI agent (OpenHands) on behalf of the user.

Document the Sandbox Grouping Strategy feature that was exposed to all users
in PR OpenHands/OpenHands#14291.

- Add new section explaining sandbox grouping
- Document all 5 available strategies with descriptions:
  - No Grouping (default, new sandbox per conversation)
  - Group by Newest (add to most recent sandbox)
  - Least Recently Used (add to oldest sandbox)
  - Fewest Conversations (add to least busy sandbox)
  - Add to Any (use first available sandbox)
- Include note about shared state implications

Co-authored-by: openhands <openhands@all-hands.dev>
@jpelletier1 jpelletier1 requested a review from mamoodi as a code owner May 20, 2026 15:48
@jpelletier1 jpelletier1 requested a review from tofarr May 20, 2026 15:49
@jpelletier1
Copy link
Copy Markdown
Contributor Author

jpelletier1 commented May 20, 2026

@tofarr Can you review these docs on Sandbox Strategy? It was identified as a feature in Local GUI that's not documented. Thanks!

Copy link
Copy Markdown
Contributor

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Good taste - Clear documentation that follows the style guide.

The documentation is well-structured and provides helpful information about the Sandbox Grouping Strategy feature. A few minor clarifications would help users make more informed decisions about which strategy to use.


Was this automated review useful? React with 👍 or 👎 to this review to help us measure review quality.
Workflow run: https://github.com/OpenHands/docs/actions/runs/26173741100

|----------|-------------|
| **No Grouping** | Creates a new sandbox for each conversation. This is the default behavior and provides maximum isolation between conversations. |
| **Group by Newest** | Adds new conversations to the most recently created sandbox. Useful when you want to continue working in the same environment across multiple conversations. |
| **Least Recently Used** | Adds new conversations to the oldest (least recently used) sandbox. This helps distribute work across sandboxes and can reuse existing environments. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Suggestion: The term "oldest" is ambiguous. Consider rewording for clarity:

Suggested change
| **Least Recently Used** | Adds new conversations to the oldest (least recently used) sandbox. This helps distribute work across sandboxes and can reuse existing environments. |
| **Least Recently Used** | Adds new conversations to the sandbox that was least recently accessed (longest time since last use). This helps distribute work across sandboxes and can reuse existing environments. |

| **Group by Newest** | Adds new conversations to the most recently created sandbox. Useful when you want to continue working in the same environment across multiple conversations. |
| **Least Recently Used** | Adds new conversations to the oldest (least recently used) sandbox. This helps distribute work across sandboxes and can reuse existing environments. |
| **Fewest Conversations** | Adds new conversations to the sandbox with the fewest active conversations. This provides load balancing across your sandboxes. |
| **Add to Any** | Uses the first available sandbox for new conversations. This is the most flexible option and optimizes for sandbox reuse. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Suggestion: "First available sandbox" is vague. What makes a sandbox available vs. unavailable? Consider clarifying:

Suggested change
| **Add to Any** | Uses the first available sandbox for new conversations. This is the most flexible option and optimizes for sandbox reuse. |
| **Add to Any** | Uses the first available sandbox for new conversations (any sandbox that exists in your environment). This is the most flexible option and optimizes for sandbox reuse. |

Alternatively, if there are specific conditions that make a sandbox unavailable (e.g., being terminated, exceeding capacity), those should be documented.

Comment on lines +30 to +38
### Available Strategies

| Strategy | Description |
|----------|-------------|
| **No Grouping** | Creates a new sandbox for each conversation. This is the default behavior and provides maximum isolation between conversations. |
| **Group by Newest** | Adds new conversations to the most recently created sandbox. Useful when you want to continue working in the same environment across multiple conversations. |
| **Least Recently Used** | Adds new conversations to the oldest (least recently used) sandbox. This helps distribute work across sandboxes and can reuse existing environments. |
| **Fewest Conversations** | Adds new conversations to the sandbox with the fewest active conversations. This provides load balancing across your sandboxes. |
| **Add to Any** | Uses the first available sandbox for new conversations. This is the most flexible option and optimizes for sandbox reuse. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Suggestion: Consider adding a brief "When to Use" column or section to help users choose the right strategy. For example:

  • No Grouping: When isolation is critical or debugging issues specific to one conversation
  • Group by Newest: When iterating on the same project across multiple conversations
  • Least Recently Used: When you want even distribution and have multiple long-running sandboxes
  • Fewest Conversations: When you need automatic load balancing across sandboxes
  • Add to Any: When sandbox reuse is more important than specific distribution logic

This guidance would help users make informed decisions rather than guessing based on strategy names alone.

@all-hands-bot
Copy link
Copy Markdown
Contributor

[RISK ASSESSMENT]

  • [Overall PR] ⚠️ Risk Assessment: 🟢 LOW

This is a documentation-only change that adds clear, well-structured information about an existing feature. No code changes, no breaking changes, no security implications. The documentation follows the repository style guide and provides helpful information to users. The only improvements suggested are minor clarifications to help users better understand the different sandbox grouping strategies and make more informed choices.

VERDICT:
Worth merging: Documentation is sound and follows best practices. The minor suggestions are optional improvements that would enhance user understanding but are not blockers.

KEY INSIGHT:
Documentation correctly documents the feature but could benefit from decision-making guidance to help users choose the right strategy for their use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants