You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support multiple OAuth apps for Google Workspace orgs (#215)
## Summary
- Add `--oauth-app` flag to `add-account` for binding accounts to named
OAuth apps
- Support `[oauth.apps.<name>]` config sections alongside the existing
default `[oauth].client_secrets`
- Per-account OAuth credential resolution across all commands (sync,
serve, verify, deletions)
- Schema migration adds nullable `oauth_app` column to `sources` table
Closes#201
## Motivation
Some Google Workspace organizations require OAuth apps to live within
their org. A personal OAuth app cannot authorize accounts in those orgs.
This adds support for multiple named OAuth client secrets so users with
accounts across different Workspace orgs can archive all of them.
## Usage
```toml
[oauth]
client_secrets = "/path/to/default_secret.json" # optional default
[oauth.apps.acme]
client_secrets = "/path/to/acme_workspace_secret.json"
```
```bash
msgvault add-account you@acme.com --oauth-app acme
msgvault add-account personal@gmail.com # uses default
msgvault add-account you@acme.com --oauth-app acme # re-authorizes if binding changed
```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@ When a task involves multiple steps (e.g., implement + commit + PR), complete AL
6
6
7
7
Always commit after every turn. Don't wait for the user to ask — if you made changes, commit them before responding. Do not ask "shall I commit?" or "want me to commit?" — just commit. Committing is not a destructive or risky action; it is the expected default after every change.
8
8
9
+
PR descriptions should be concise and changelog-oriented: what changed, why, and how to use it. Do not include test plans, design decisions, or implementation details — those belong in specs and commit messages.
10
+
9
11
## Project Overview
10
12
11
13
msgvault is an offline Gmail archive tool that exports and stores email data locally with full-text search capabilities. The goal is to archive 20+ years of Gmail data from multiple accounts, make it searchable, and eventually delete emails from Gmail once safely archived.
msgvault includes an MCP server that lets AI assistants search, analyze, and read your archived messages. Connect it to Claude Desktop or any MCP-capable agent and query your full message history conversationally. See the [MCP documentation](https://msgvault.io/usage/chat/) for setup instructions.
0 commit comments