How to Migrate Chrome Profile Data to Ego Lite on First Launch

Ego Lite automatically detects existing Chrome profiles on first launch and offers a one-click migration that copies your logins, cookies, extensions, and bookmarks into its local storage.

When you start Ego Lite for the first time, the application scans your system for existing Chrome user data. If found, it displays a single migration prompt. This guide explains exactly how this process works, where your data goes, and how to handle migration in automated scenarios.

What Happens During Chrome Profile Migration

The migration flow in Ego Lite follows a strict five-step sequence designed to run exactly once. According to the Ego Lite source code, here's what occurs under the hood:

1. Chrome Profile Detection

Ego Lite checks platform-specific default Chrome data locations:

  • Windows: %LOCALAPPDATA%\Google\Chrome\User Data
  • macOS: ~/Library/Application Support/Google/Chrome
  • Linux: ~/.config/google-chrome

2. User Prompt

A modal dialog appears asking: "Do you want to migrate your Chrome data (logins, cookies, extensions, bookmarks) to Ego Lite?"

3. File Copy Operation

If you select Yes, Ego Lite recursively copies Chrome's Default folder (or your selected profile) into its internal directory:

  • macOS/Linux: $HOME/.ego-lite/profile
  • Windows: %APPDATA%\ego-lite\profile

This preserves all cookies, extensions, bookmarks, and saved passwords.

4. Migration Flag

The binary writes migratedChrome=true to Ego Lite's configuration to prevent future prompts.

5. Future Runs

Ego Lite loads the migrated data automatically. AI agents access this state through the ego-browser skill.

Using Ego Browser After Migration

Once migration completes, no additional configuration is needed. The ego-browser skill in package/ego-browser/src/helpers.ts exposes JavaScript helpers that agents use to interact with the migrated browser state.

// Example: invoking ego-browser from a CLI-based agent
// First invocation automatically triggers migration if not yet done
await egoBrowser(`
  // Your agent now works with your full Chrome state
  await go('https://example.com');
  await click('text=Login');
`);

The runtime state management in package/ego-browser/src/state.ts tracks whether migration has completed, ensuring consistent behavior across agent sessions.

Automating Migration in Non-Interactive Environments

For CI/CD pipelines or headless deployments, you can bypass the interactive prompt entirely.


# Run Ego Lite with automatic Chrome migration (non-interactive)

ego-lite --migrate-chrome

This flag is handled directly by the native Ego Lite binary—not the JavaScript harness—making it suitable for scripted installations.

Where Your Data Lives

Location Purpose
Native Chrome paths Source data detected but never modified
~/.ego-lite/profile or %APPDATA%\ego-lite\profile Migrated copy used by Ego Lite
Ego Lite configuration file Stores migratedChrome=true flag

As documented in the README data locality section, all migrated data remains in local storage under your control. The original Chrome profile is left untouched.

Key Files and References

File Role
README.md (lines 63-75) Documents the first-launch migration experience
skills/ego-browser/references/install.md Installation guide mentioning migration
package/ego-browser/src/helpers.ts JavaScript API for agent browser control
package/ego-browser/src/state.ts Runtime state including migration status

The actual file-system copy operation resides in the native Ego Lite binary outside this repository. The open-source harness forwards migration requests to this binary.

Summary

  • Ego Lite detects Chrome profiles automatically on first launch by scanning platform-default paths
  • A single prompt controls migration—select Yes to copy logins, cookies, extensions, and bookmarks
  • Migration runs once only, marked by a configuration flag in Ego Lite's state
  • Use --migrate-chrome for automated, non-interactive deployments
  • All data stays local in ~/.ego-lite/profile or %APPDATA%\ego-lite\profile

Frequently Asked Questions

Can I migrate data from profiles other than "Default"?

Yes. When multiple Chrome profiles exist, Ego Lite detects all available profiles and allows selection during the migration prompt. The chosen profile's folder is copied wholesale into Ego Lite's storage. If you need a different profile later, manual copying of the specific Chrome profile folder to Ego Lite's profile directory is required—there is no re-migration workflow.

Does Ego Lite modify my original Chrome installation?

No. The migration process performs a recursive copy operation only. Your original Chrome data at %LOCALAPPDATA%\Google\Chrome\User Data, ~/Library/Application Support/Google/Chrome, or ~/.config/google-chrome remains completely untouched. Ego Lite creates an independent snapshot for its own use.

What happens if I decline the migration prompt?

If you select No, Ego Lite starts with a fresh, empty profile. The migratedChrome flag is still set (to false or equivalent), so the prompt will not appear again. You would need to manually copy desired Chrome data to ~/.ego-lite/profile or %APPDATA%\ego-lite\profile if you change your mind later.

Can AI agents access my saved passwords after migration?

Yes. Once migrated, the ego-browser skill operates with full access to cookies, saved logins, and extensions exactly as Chrome would. Agents can navigate authenticated sessions and interact with extensions through the standard API in package/ego-browser/src/helpers.ts. This shared state enables seamless human-AI collaboration without credential re-entry.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →