larksuite/cli · error · LarkCliError
No visible worksheet matched
Error message
No visible worksheet matched
What it means
During suite-layout sync, syncSuite creates a temporary staging directory via vfs.MkdirTemp before staging the suite archive. If that temp-directory creation fails, the OS error is wrapped with this message. This is an environment/infrastructure failure, not a config problem.
Source
Thrown at skills/lark-sheets/scripts/lark_chart_layout_check.py:455
if report["data"]["passed"]:
return 0
if report["data"]["summary"]["issue_count"] > 0:
return 2
return 1
def main() -> None:
args = parse_args()
locator = _locator(args.sheet_id)
try:
workbook_data = envelope_data(
run_sheets("+workbook-info", **locator, timeout=args.timeout)
)
sheets = resolve_target_sheets(workbook_data, sheet_id=args.worksheet_id)
if not args.worksheet_id:
sheets = [sheet for sheet in sheets if not bool(sheet.get("is_hidden"))]
if not sheets:
raise LarkCliError("No visible worksheet matched")
results = [
check_sheet(locator, sheet, timeout=args.timeout, sample_limit=args.sample_limit)
for sheet in sheets
]
except (LarkCliError, KeyError, TypeError, ValueError) as exc:
emit_error(ACTION, str(exc))
raise SystemExit(1) from exc
report = success_envelope(results)
print(json.dumps(report, ensure_ascii=False, indent=2))
exit_code = report_exit_code(report)
if exit_code:
raise SystemExit(exit_code)
if __name__ == "__main__":
main()
View on GitHub (pinned to 7fd6ef3c07)
Solutions
- Check free disk space and clear space if the temp volume is full (df -h /tmp or your TMPDIR).
- Ensure TMPDIR points to an existing writable directory, or unset a bad TMPDIR override.
- Re-run the sync in an environment where the process can create temp directories (adjust sandbox/container permissions).
- Retry the sync after fixing the environment; no config change is needed.
Example fix
// before (broken env) export TMPDIR=/nonexistent // after export TMPDIR=$(mktemp -d -t lark-tmp-XXXX)/.. && mkdir -p "$TMPDIR" # or simply: unset TMPDIR
Defensive patterns
Strategy: retry
Validate before calling
// Pre-flight: temp dir writable?
if f, err := os.CreateTemp(os.TempDir(), "lark-preflight-*"); err != nil {
return fmt.Errorf("temp dir not writable: %w", err)
} else { f.Close(); os.Remove(f.Name()) } Try / catch
if err := syncLayout(...); err != nil && strings.Contains(err.Error(), "create suite staging directory") {
// check TMPDIR and free space, then retry once after fixing the environment
} Prevention
- Ensure TMPDIR points to an existing, writable directory in CI and containers.
- Monitor free disk space on the temp volume before running skills sync.
- Avoid read-only /tmp mounts in sandboxes used for the CLI.
When it happens
Trigger: Running a skills sync in suite mode where vfs.MkdirTemp("", "lark-cli-suite-") fails — no writable TMPDIR, full disk, read-only /tmp, sandbox lacking temp-dir permissions, or TMPDIR pointing at a nonexistent directory.
Common situations: CI containers with /tmp mounted read-only or size-limited; users running the CLI with TMPDIR set to a missing path; disk-quota exhaustion on hosts or remote/portable execution environments where FileIO/vfs is scoped.
Related errors
- invalid chart size: {size!r}
- +csv-get truncated the scan range at {actual_range}; narrow
- --max-sheets must be at least 1
- %s: path must be absolute, got %q
- %s: path %q is a directory, not a file
AI-assisted analysis of larksuite/cli@7fd6ef3c07 (2026-09-04).
Data as JSON: /api/errors/7aa602bc67c38f96.
Report an issue: GitHub.