Manual Browser Login for Automation and X/Twitter Posting
Learn how to manually log in to websites using the openclaw Chrome profile for browser automation. Essential for X/Twitter posting to avoid bot detection.
Read this when
- You need to log into sites for browser automation
- You want to post updates to X/Twitter
Manual login (recommended)
When a website demands authentication, log in manually using the host browser's openclaw profile. Never share your credentials with the model: automated sign-in attempts frequently activate bot detection systems and may result in account suspension.
For both reading (search and threads) and posting on X/Twitter or other bot-sensitive platforms, rely on the host browser with manual login. Sandboxed browser sessions have a higher probability of triggering bot detection mechanisms.
Return to the primary browser documentation: Browser.
Which Chrome profile is used?
OpenClaw manages a dedicated Chrome profile called openclaw (distinguished by an orange UI), which remains separate from your everyday browsing profile.
For agent browser tool calls:
- The agent's default behavior is to use its own isolated
openclawbrowser. - Reserve
profile="user"for cases where existing logged-in sessions are necessary and you are present at the machine to click or approve any attach prompts. - When multiple user browser profiles exist, specify the exact profile rather than relying on automatic selection.
Two methods exist for accessing the openclaw profile:
- Instruct the agent to launch the browser, then perform the login yourself.
- Open it through the command line:
openclaw browser start
openclaw browser open https://x.com
To use a non-default profile, place --browser-profile <name> before the subcommand (the default is openclaw):
openclaw browser --browser-profile <name> open https://x.com
Sandboxing: allow host browser access
When the agent operates in a sandboxed environment, its browser tool calls default to the sandbox browser rather than the host. To direct the agent toward the host browser instead:
{
agents: {
defaults: {
sandbox: {
mode: "non-main",
browser: {
allowHostControl: true,
},
},
},
},
}
CLI commands always address the host browser, never the sandbox, so you can open the host browser on your own regardless of this configuration:
openclaw browser --browser-profile openclaw open https://x.com
After setting sandbox.browser.allowHostControl: true, the agent's browser tool calls can also target the host. Alternatively, turn off sandboxing for the agent responsible for posting updates.