basemodo share
Share an App: invite Members and Editors by email, remove them, answer Access Requests, or change its Visibility.
basemodo share [OPTIONS] [EMAIL]...Each invited email gets the App's URL and becomes a Member the first time they open it signed in. An Editor (--editor) is a Member who may also deploy the App, read its logs and change its Secrets from their own account, but not change who can reach it. Someone refused at a Private App can ask for access; --approve makes them a Member, --decline says no. Private lets in only the Owner, Members and Editors, Link anyone with the URL who signs in, Public anyone. Only the Owner shares an App. With no arguments it only shows who can reach the App.
Arguments
EMAIL...: Emails to invite as Members.--editor <EMAIL>(repeatable): Add an Editor: a Member who may also deploy the App, read its logs and change its Secrets, but not change who can reach it. Repeat for several. Someone already invited becomes an Editor.--visibility <private|workspace|link|public>: Who can reach the App: private (its Owner and Members), workspace (also everyone in the Workspace that owns it), link (anyone with its URL who signs in) or public (anyone, no sign-in).--remove <EMAIL>(repeatable): Remove a Member or an Editor, or take back an invitation. Repeat for several.--approve <EMAIL>(repeatable): Approve the Access Request of this email: they become a Member. Repeat for several.--decline <EMAIL>(repeatable): Decline the Access Request of this email. Repeat for several.--app <APP>: The App to share. Default: the one named after the current folder.
Like every command, it also takes the global options --json and --api-url.
Examples
Invite two people:
basemodo share ana@example.com ben@example.comLet the developer helping you deploy, read Logs and change Secrets:
basemodo share --editor dev@example.comLet in anyone with the link who signs in:
basemodo share --visibility linkRemove someone:
basemodo share --remove ben@example.comApprove someone who asked for access:
basemodo share --approve carla@example.comSee who can reach the App, and who asked:
basemodo shareOutput
With --json, it prints {"app", "url", "visibility", "members": [{"id", "email", "role" (member or editor), "status" (invited or accepted), "invited_at", "accepted_at"}], "access_requests": [{"id", "email", "requested_at"}]}, after the changes.
From an agent
The local MCP serves it as the tool share. It changes things, so an agent's client may ask you before it runs. Its arguments are the command's, named as JSON keys: invite (list of text), editor (list of text), visibility (text), remove (list of text), approve (list of text), decline (list of text), app (text). It answers what the command prints with --json.