Managing Projects
Projects keep your loops, secrets, and environments organized. This guide covers the full workflow—from creating a project to fixing stale IDs when your CLI and dashboard fall out of sync.
Create or initialize a project
Start a fresh project directly from the CLI:
# Create the project in your account (no files created locally)
loopcli project create marketing-demo --description "Marketing automation suite"
# Initialize the current directory and link it to the project
mkdir marketing-demo && cd marketing-demo
loopcli project init marketing-demo
Prefer the dashboard? Use New Project and then run loopcli project init inside your repo to link the local .loopcli/ folder to the remote ID.
Pick a project with the numbered selector
Run loopcli project use without arguments to open the new hybrid selector:
$ loopcli project use
Select a project (type to search, Enter to confirm, 0 = cancel):
1. dashboard-gui-qa (ef10b429-1c4d-4629-8aba-798aa0286038 • GUI parity test)
2. marketing-demo (68f6536f-c0e9-4ccc-9d06-58da980e72bb • Marketing automation suite)
> mar
- Type to filter (press
ESCto clear). - Use numbers (e.g.
2+Enter) when you already know the row. 0cancels without changing your current project.
The selector updates .loopcli/project.json and your global config (respecting LOOPCLI_CONFIG_DIR if you set it), so subsequent CLI commands talk to the right Supabase project ID automatically.
Keep loops in sync
loop create and loop add-* now fail loudly if Supabase rejects the project ID. When you see Failed to sync loop with the LoopCLI API, fix the project selection and rerun:
# Reselect the project
loopcli project use
# Push the loop to the cloud
loopcli loop sync builder-smoke
# Need to refresh everything after a reauth?
loopcli loop sync
loop sync creates remote loops when they only exist locally and updates IDs so the dashboard reflects what you see on disk. It also honors LOOPCLI_CONFIG_DIR, so you can keep repo-scoped smoke tests separate from your global profile.
Troubleshooting stale IDs
If you recreated a project in Supabase and the CLI still points at the old UUID:
- Run
loopcli project useand pick the new project. - Delete any local loops that no longer exist in the dashboard (
rm .loopcli/loops/*.jsonorloopcli loop delete). - Re-run
loopcli loop syncto recreate the cloud copies.
Still stuck? Authenticate again with loopcli auth login, then re-run loopcli project use to refresh the config. The CLI writes its credentials to ~/.loopcli/ by default, or to LOOPCLI_CONFIG_DIR when you override it.
Dashboard shortcuts
- Project switcher: Use the sidebar drop-down to jump between projects. The CLI picks up the change the next time you run
loopcli project use. - Invite teammates: Project owners can add collaborators under Settings → Team. Each teammate runs
loopcli project uselocally to pull loops and secrets for their workspace. - Secrets & connectors: Vault secrets, OAuth connections, and scheduled runs are scoped to the active project—double-check the picker at the top of the dashboard before making changes.
Related docs
- Quick Start — end-to-end walkthrough including project setup.
- Creating Workflows — build and deploy loops once your project is ready.
- CLI Command Reference — full command list, including
loop sync.