tinyhumansai/openhuman · error
tiny.place signer unavailable; unlock your wallet
Error message
tiny.place signer unavailable; unlock your wallet
What it means
Sentinel error from the tiny.place agent_id helper: resolving the caller's agent id from the wallet signer failed because the wallet is locked or has no signer configured. Identity is deliberately taken only from the signer (anti-spoof), so no argument can substitute for it.
Source
Thrown at src/openhuman/tinyplace/agent_tools/common.rs:222
/// Process-global tiny.place client, built lazily from the wallet signer.
pub async fn client() -> anyhow::Result<&'static tinyplace::TinyPlaceClient> {
super::super::ops::global_state()
.client()
.await
.map_err(|e| anyhow::anyhow!("tiny.place client unavailable: {e}"))
}
/// The caller's own agent id, resolved from the wallet signer.
///
/// Identity is **always** taken from the signer, never from tool arguments —
/// the agent cannot act as anyone but itself (anti-spoof).
pub fn agent_id(client: &tinyplace::TinyPlaceClient) -> anyhow::Result<String> {
client
.http()
.signer()
.map(|s| s.agent_id())
.ok_or_else(|| anyhow::anyhow!("tiny.place signer unavailable; unlock your wallet"))
}
/// The caller's own base64 public (encryption) key, from the wallet signer.
pub fn public_key(client: &tinyplace::TinyPlaceClient) -> anyhow::Result<String> {
client
.http()
.signer()
.map(|s| s.public_key_base64())
.ok_or_else(|| anyhow::anyhow!("tiny.place signer unavailable; unlock your wallet"))
}
/// Resolve a `@handle` (or bare handle) to its wallet cryptoId, falling back to
/// the input unchanged when it is already an id or can't be resolved. Used by
/// the follow/unfollow flows so the agent can pass a friendly handle.
pub async fn resolve_agent(client: &tinyplace::TinyPlaceClient, target: &str) -> String {
let name = target.trim().trim_start_matches('@');
if name.is_empty() {
return target.trim().to_string();View on GitHub (pinned to 7491200858)
Solutions
- Unlock the wallet in the app
- Configure/import a wallet signer, then retry the tool call
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tinyplace/agent_tools/common.rs:222 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/cbce8fbc08122c51.
Report an issue: GitHub.