How to Configure Twitter Cookies for Authentication in Agent-Reach
Agent-Reach stores Twitter authentication cookies (auth_token and ct0) in ~/.agent-reach/config.yaml, supporting both manual CLI entry and automatic extraction from Chrome, Firefox, Edge, Brave, or Opera.
To interact with Twitter/X through Agent-Reach, you must configure Twitter cookies for authentication. The TwitterChannel implementation in the Panniantong/Agent-Reach repository requires these credentials to authenticate API calls via twitter-cli or the OpenCLI backend. This guide demonstrates how to supply these cookies using either manual configuration or automatic browser extraction.
Manual Configuration of Twitter Cookies
The agent-reach configure twitter-cookies command accepts authentication data in two formats. The CLI parses your input through _parse_twitter_cookie_input in agent_reach/cli.py (lines 54-73) and persists the values via config.set() in agent_reach/config.py (lines 24-27).
Using the Cookie Header Format
Pass the full cookie string as a single quoted argument:
agent-reach configure twitter-cookies "auth_token=AAA; ct0=BBB"
The parser splits on semicolons and spaces to extract the auth_token and ct0 values.
Using Space-Separated Values
Alternatively, provide the two token values separated by a space:
agent-reach configure twitter-cookies AAA BBB
This format works when the input contains exactly two whitespace-separated values without = characters. Both methods trigger a health check against twitter-cli to confirm the credentials work before saving.
Automatic Extraction of Twitter Cookies from Browser
Agent-Reach can extract cookies directly from your browser's cookie store, eliminating manual copy-pasting errors.
Supported Browsers
The tool supports automatic extraction from:
- Chrome
- Firefox
- Edge
- Brave
- Opera
Running the Extraction Command
Execute the following, replacing chrome with your browser:
agent-reach configure --from-browser chrome
This delegates to configure_from_browser in agent_reach/cli.py (lines 26-34). The extract_all function in agent_reach/cookie_extract.py (lines 14-22) scans the browser's SQLite cookie database, filters for domains matching .x.com and .twitter.com, and returns the auth_token and ct0 cookies.
The values are written to your configuration via config.set("twitter_auth_token", ...) and config.set("twitter_ct0", ...) as implemented in agent_reach/cookie_extract.py (lines 50-58).
How Credentials Are Stored and Used
Understanding the storage mechanism ensures you can verify and troubleshoot your configuration.
Configuration File Structure
Both manual and automatic methods store credentials in ~/.agent-reach/config.yaml under the keys:
twitter_auth_tokentwitter_ct0
Downstream Tool Integration
Agent-Reach synchronizes these credentials for compatibility with multiple tools:
- Environment Variables: Sets
TWITTER_AUTH_TOKENandTWITTER_CT0fortwitter-cliconsumption during health checks. - Legacy xfetch: Writes to
~/.config/xfetch/session.jsonvia_sync_xfetch_sessioninagent_reach/cookie_extract.py(lines 76-84). - bird CLI: Generates a
credentials.envfile for the bird tool as implemented inagent_reach/cookie_extract.py(lines 104-112).
Verification Steps
Confirm your configuration works before running automation tasks.
Using the Built-in Doctor
Run the diagnostic command:
agent-reach doctor
Check the Twitter channel report in agent_reach/channels/twitter.py (lines 59-67). A successful configuration displays "Twitter CLI 完整可用" (Twitter CLI fully available) or "OpenCLI 可用" (OpenCLI available).
Manual Verification
If you have twitter-cli installed, export the environment variables and test:
export TWITTER_AUTH_TOKEN=AAA
export TWITTER_CT0=BBB
twitter status
Valid cookies return ok: true in the output.
Summary
- Manual configuration uses
agent-reach configure twitter-cookieswith either a full cookie header or space-separated tokens, parsed by_parse_twitter_cookie_inputinagent_reach/cli.py. - Automatic extraction uses
agent-reach configure --from-browser <browser>to scan Chrome, Firefox, Edge, Brave, or Opera cookie stores viaagent_reach/cookie_extract.py. - Storage location is
~/.agent-reach/config.yamlundertwitter_auth_tokenandtwitter_ct0. - Verification requires running
agent-reach doctorto check the Twitter channel status inagent_reach/channels/twitter.py. - Downstream sync includes environment variables, xfetch session files, and bird CLI credentials.
Frequently Asked Questions
Where does Agent-Reach store the Twitter authentication cookies?
Agent-Reach persists the auth_token and ct0 values in ~/.agent-reach/config.yaml under the keys twitter_auth_token and twitter_ct0. This file is managed by the configuration module in agent_reach/config.py (lines 24-27).
Can I use Firefox or Brave instead of Chrome for automatic extraction?
Yes. The configure_from_browser function in agent_reach/cli.py (lines 26-34) supports Chrome, Firefox, Edge, Brave, and Opera. Pass the browser name as an argument: agent-reach configure --from-browser firefox or agent-reach configure --from-browser brave.
Why does my configuration show as invalid in agent-reach doctor?
The Twitter channel verification in agent_reach/channels/twitter.py (lines 59-67) checks both twitter-cli and OpenCLI backends. If cookies are expired or malformed, the health check fails. Re-run agent-reach configure twitter-cookies with fresh values extracted from a currently logged-in browser session.
Does Agent-Reach share these credentials with other tools?
Yes. According to agent_reach/cookie_extract.py, the tool synchronizes credentials to three locations: TWITTER_AUTH_TOKEN and TWITTER_CT0 environment variables for twitter-cli, ~/.config/xfetch/session.json for legacy xfetch compatibility, and a generated credentials.env file for the bird CLI.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →