Observed since 20 Oct, 19:03 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
247-cli
247 - Access Claude Code from anywhere 24/7
Access Claude Code from anywhere, 24/7.
A CLI tool by Quivr that lets you run Claude Code remotely and access it from any device via a web dashboard.
npm install -g 247-cli
brew install tmuxsudo apt install tmux# Configure the agent
247 init
# Install as a system service (recommended)
247 service install --start
# Or run in foreground
247 start --foreground
| Command | Description |
|---|---|
247 init | Interactive configuration wizard |
247 start | Start the agent (daemon mode) |
247 start --foreground | Start in foreground |
247 stop | Stop the agent |
247 status | Show agent status |
247 logs [-f] | View agent logs |
247 service install | Install system service |
247 service uninstall | Remove system service |
247 service start/stop/restart | Control service |
247 hooks install | Install Claude Code hooks |
247 update | Update to latest version |
247 doctor | Diagnose issues |
The agent can run as a system service that starts automatically on boot:
macOS (launchd):
247 service install --start
# Config: ~/Library/LaunchAgents/com.quivr.247.plist
# Logs: ~/Library/Logs/247-agent/
Linux (systemd):
247 service install --start
# Config: ~/.config/systemd/user/247-agent.service
# Logs: journalctl --user -u 247-agent
Configuration is stored in ~/.247/config.json:
{
"machine": {
"id": "unique-machine-id",
"name": "My Mac"
},
"agent": {
"port": 4678
},
"projects": {
"basePath": "~/Dev"
}
}
The agent includes hooks that notify when Claude Code sessions stop:
247 hooks install # Install hooks
247 hooks status # Check status
247 hooks update # Update to latest
Codex supports a notify hook command. Configure it to point to the 247 hook script:
notify = ["bash", "~/.247/hooks/notify-247.sh"]
If ~/.codex/config.toml exists, 247 hooks install will try to add this line for you.
247 doctor
MIT - Quivr
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
wsEnvironment{
"local_name": "ws",
"alias": false,
"peer_metadata": null
} | ^8.18.0 | runtime |
oraEnvironment{
"local_name": "ora",
"alias": false,
"peer_metadata": null
} | ^8.0.0 | runtime |
corsEnvironment{
"local_name": "cors",
"alias": false,
"peer_metadata": null
} | ^2.8.5 | runtime |
pinoEnvironment{
"local_name": "pino",
"alias": false,
"peer_metadata": null
} | ^9.6.0 | runtime |
chalkEnvironment{
"local_name": "chalk",
"alias": false,
"peer_metadata": null
} | ^5.3.0 | runtime |
expressEnvironment{
"local_name": "express",
"alias": false,
"peer_metadata": null
} | ^4.21.0 | runtime |
enquirerEnvironment{
"local_name": "enquirer",
"alias": false,
"peer_metadata": null
} | ^2.4.0 | runtime |
fs-extraEnvironment{
"local_name": "fs-extra",
"alias": false,
"peer_metadata": null
} | ^11.2.0 | runtime |
commanderEnvironment{
"local_name": "commander",
"alias": false,
"peer_metadata": null
} | ^12.0.0 | runtime |
http-proxyEnvironment{
"local_name": "http-proxy",
"alias": false,
"peer_metadata": null
} | ^1.18.1 | runtime |
pino-prettyEnvironment{
"local_name": "pino-pretty",
"alias": false,
"peer_metadata": null
} | ^13.0.0 | runtime |
better-sqlite3Environment{
"local_name": "better-sqlite3",
"alias": false,
"peer_metadata": null
} | ^12.5.0 | runtime |
@homebridge/node-pty-prebuilt-multiarchEnvironment{
"local_name": "@homebridge/node-pty-prebuilt-multiarch",
"alias": false,
"peer_metadata": null
} | ^0.13.1 | runtime |
tsxEnvironment{
"local_name": "tsx",
"alias": false,
"peer_metadata": null
} | ^4.19.2 | development |
vitestEnvironment{
"local_name": "vitest",
"alias": false,
"peer_metadata": null
} | ^4.0.16 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^5.7.2 | development |
@types/nodeEnvironment{
"local_name": "@types/node",
"alias": false,
"peer_metadata": null
} | ^22.10.5 | development |
@types/fs-extraEnvironment{
"local_name": "@types/fs-extra",
"alias": false,
"peer_metadata": null
} | ^11.0.4 | development |
@types/better-sqlite3Environment{
"local_name": "@types/better-sqlite3",
"alias": false,
"peer_metadata": null
} | ^7.6.13 | development |
Source distribution
{
"shasum": "389dc37fc59de1be065e6f54bc27da9db28e7a8f",
"tarball": "https://registry.npmjs.org/247-cli/-/247-cli-1.0.3.tgz",
"fileCount": 195,
"integrity": "sha512-xs27YR381GcBPuhDAlzfN2zeR3/ajVvd8mZWopQlAJDorUCbmbH/CHZ8HXhyhELt/pYb7UNH1guM7W8e0kVoUQ==",
"signatures": [
{
"sig": "MEUCIC6xYig91LHj+gxSg2YOucRVtl72l/Ci+/pviMuUU4pzAiEA7wdL60ScBD/5oLVraL4QzmGwxJHSrurjNYRrs6ej+Ws=",
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
}
],
"attestations": {
"url": "https://registry.npmjs.org/-/npm/v1/attestations/247-cli@1.0.3",
"provenance": {
"predicateType": "https://slsa.dev/provenance/v1"
}
},
"unpackedSize": 489130
}Shared repository data · GitHub
Observed since 20 Oct, 19:03 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:c8daaef0babe0698aef07e93a63eb2b9b0fd7b7e2f5c6de656dbc06cb8bf79dd