AppCorpus
Market DE

Cumbersome: AI LLM API Client

by Folding Sky Co

iPhone · iPad

Active Last checked 31 Jul 2026

Quick verdict

What it is
Store information collected; independent summary not yet available.
At a glance
  • Free to download

Categories and search queries

Official categories

AppCorpus categories

Key functions

Function Availability Access Scope Evidence
Free app Yes Free Store published

Screens

App Store

15 store screenshots

Cumbersome: AI LLM API Client ipad screenshot 1
Cumbersome: AI LLM API Client ipad screenshot 2

Pricing & paywalls

App Store

Shown for US

  • Free

Ratings & reviews

App Store

Shown for US

4.9 44 ratings · App Store

  1. 5/5Exactly what I needed

    I’ve been using this app since it came out. I’ve long wished for certain features and hoped for continued updates. It’s worked fine, however, the past 5 versions or so have finally given me the features I’ve been waiting for the whole time and it’s amazing. Separate system prompts, chat scoped system prompts,, toggleable parameters, more fixes to the streaming text Views, all the newer OpenRouter backend tool support. He even added COMPACTION! That’s amazing! Thank you so much! Love this app.

    Ailthrim · 31 Jul 2026

  2. 5/5Great app!

    I have looked around for different LLM API Clients for a while now and this one is definitely the best one I’ve tried by far. It has sync with iCloud so I can use it with my Mac, headless search (didn’t even know that was possible), and easy access to all the models you want (I use DeepInfra). Honestly can’t believe you give it away for free but I’m glad you do :)

    Fitzgerald2125 · 31 Jul 2026

  3. 5/5Excellent LLM client

    I’ve been using local LLMs through openwebui for a while, but the lack of a proper iPad client makes the usability hard. Cumbersome is an excellent alternative to being able to access models you host on your own network. If you use VPN or tailscale, you’ll always have access to these models.

    codeanish · 31 Jul 2026

  4. 5/5Just the right amount of complexity

    Reading the history of this developer (hi, Peter!), I shouldn’t be surprised at how well this app is put together. It integrates complexity very well. It thoughtfully fills gaps between what models offer and clients typically provide. Plus it’s just really (really) fast to start and sync.

    john.catalano · 31 Jul 2026

  5. 5/5Very awesome, but..

    The app itself is pretty cool! And very nice and easy to use for Local LLMs, but I do have an issue.. some APIs actually provide free-to-use, with no api key required… and the app needs an API key, so im asking if we can get update to make it not needed or whatever. Overall, Thanks!

    MahdisCool · 31 Jul 2026

Privacy & accessibility

App Store

Privacy

  • Data Not Linked to You — Analytics — Usage Data — Product Interaction Developer declared
  • Data Not Linked to You — App Functionality — Diagnostics — Crash Data Developer declared
  • Data Not Linked to You — App Functionality — Diagnostics — Performance Data Developer declared
  • Data Not Linked to You — App Functionality — Usage Data — Product Interaction Developer declared
  • Data Not Linked to You — Diagnostics Developer declared
  • Data Not Linked to You — Usage Data Developer declared

Accessibility

  • Dark Interface — SUPPORTED Store published
  • Differentiate Without Color Alone — SUPPORTED Store published
  • Larger Text — SUPPORTED Store published
  • Reduced Motion — SUPPORTED Store published
  • Sufficient Contrast — SUPPORTED Store published
  • Voice Control — SUPPORTED Store published
  • VoiceOver — SUPPORTED Store published

Versions

App Store

  • 1.38.0

    fix(build): pin Textual to patched revision for iOS archive refactor(ui): consolidate beta chips, simplify Ollama settings copy refactor(markdown): migrate MarkdownUI to Textual, keep LaTeXSwiftUI for math, remove code block copy

  • 1.38.1

    fix: bug fixes and improvements

  • 1.39.0

    feat(message): always show full content for last message, no Show more feat(message): add header actions menu button for message actions fix(chat): replace position-based auto-scroll break with gesture detection fix(markdown): close unclosed code fences from truncated responses fix(message): rename Copy to Copy Message in context menu perf(chat): auto-collapse older messages on new message submission perf(streaming): reduce observation cascades during streaming

  • 1.40.0

    feat(chat): searchable model picker for large lists fix(chat): match searchable model picker to Menu styling fix(chat): Textual markdown chunking and truncation mask only when fading fix(chat): cap last-message auto-expand to avoid markdown stack blowups fix(ios): prevent content scrolling during sidebar edge swipe fix(ui): remove Beta chip from AI Reasoning in advanced modal fix(core): review prompt uses host app product name fix(core): harden chat sync, URLs, and title generation for crash mitigation fix: add remote-notification background mode for CloudKit sync fix(core): per-message expand stuck after Collapse All fix(core): stream thinking UI before think close tag chore: track Xcode workspace Package.resolved in git perf(a11y): scale preview icons with @ScaledMetric perf(core): replace release prints with os.Logger via AppLog refactor(core): extract large files into focused modules refactor(core): replace ScrollViewReader with ScrollPosition in sidebar refactor(core): migrate settings and helpers to @observable refactor(core): remove LegacyChatMessage alias and getWebSearchTools refactor(core): remove dead DrawerView struct and clean up tests

  • 1.41.0

    fix(core): non-thinking responses fail on Anthropic Opus 4.7+ due to explicit temperature fix(core): heal streaming-thinking tables broken by mid-row blank lines fix(core): restore macOS chat hit-testing after sidebar collapse

  • 1.42.0

    feat(core): Chat Completions local tool loop for Z.AI and gateways feat(core): stream Gemini tool calls end-to-end via local tool loop feat(core): stream Anthropic tool calls end-to-end via local tool loop feat(settings): split Local Browser Use into Search + Browse toggles feat(core): in-modal recovery for local search feat(core): stream OpenAI post-tool continuations end-to-end + parallel tool calls style(settings): make macOS section headers dominant

  • 1.44.0

    feat(chat): native transcript lists on iOS and macOS feat(images): add streaming partial previews for OpenAI image generation feat(images): stream OpenAI image previews feat(images): OpenAI image gen on OpenRouter; drop Vercel path feat(images): OpenAI image generation via Responses API image_generation tool feat(images): Gemini image output via OpenRouter + Vercel gateways feat(images): Gemini image output, origin tag, full-width render fix(chat): VStack multi-block markdown; iOS transcript cell sizing fix(ios): compose UICollectionView insets from measured safeAreaBar heights fix(settings): ship compressed model-list reader before writer fix(settings): chat readiness gates on key presence, not stale test fix(errors): surface hallucinated tool name and special-case hop limit fix(local-tools): headless mode uses WebPage API, not URLSession fix(endemic-llm): stop referencing disabled local tools to the model perf(chat): consolidate streaming auto-follow on revision signal perf(chat): trim message accessibility payloads perf(chat): cache parsed message content for visible rows perf(settings): LZFSE-compress provider model lists in iCloud KVS refactor(chat): remove automatic conversation collapse refactor(core): remove dead code and align build metadata refactor(chat): remove "long press any message to edit" helper tip

  • 1.45.0

    feat(sidebar): collapsible conversation sections with synced persistence fix(macos): re-anchor LazyVStack transcript after mount race fix(chat): persist built-in provider before model picker resolves fix(chat): seed message cache and stabilize macOS transcript layout fix(settings): tolerate transient iCloud Keychain misses fix(macos): make error observation archive-safe fix(macos): bound long chat errors in bottom controls fix(settings): keep model refresh freshness device-local fix(ios): improve chat toolbar picker sizing fix(streaming): compile render-cost logging in release fix(chat): stop streaming dots from bouncing fix(chat): keep streaming indicator visible during thinking fix(ios): allow chat errors to wrap fix(chat): stream indicator in layout, not over Textual fix(chat): macOS streaming dots overlay streak fix(settings): eliminate the "marketing screen with keys present" regression fix(ios): stop transcript bounce during streaming fix(ios): restore Liquid Glass toolbar capsules and picker colors chore: bump deps. perf(streaming): defer LaTeX rendering while streaming perf(streaming): adapt UI cadence to render cost perf(streaming): restore ~30fps UI throttle; align Quick Prompt

  • 1.46.0

    feat(core): conversation folders, grouping, and organize flows fix(chat): unbreak OpenAI image-edit follow-ups in /responses fix(core): raise local tool hop limit from 5 to 25 fix(chat): resolve huge-code-block crash via Textual TextBuilder fix fix(chat): restore VoiceOver body for expanded message rows fix(chat): macOS empty-state inset + Ready to Chat body typography fix(macos): replace hero Image Button with tap gesture layout

  • 1.47.0

    feat(local-tools): cross-reference search and browse tools when both are on feat(core): enable KVS model-list compression writer (phase 2) feat(macos): configurable Quick Prompt shortcut and App Visibility settings feat(ui): apply brand backdrop across chat, Settings, and onboarding feat(chat): International Orange backdrop and clearer message bubbles feat(folders): unify move-folder menus with icons and tinted glyphs fix(macos-chat): pin transcript to bottom on send in long convos fix(settings): stop model picker and "Updated " from emptying fix(local-tools): make OpenAI Responses follow-up work on OpenRouter fix(chat): unwrap OpenRouter error.metadata in chat banners fix(chat): surface gateway API errors in banners fix(chat): also silence SwiftLint redundant_discardable_let fix(chat): keep pending-queue subscribe line SwiftFormat-safe fix(chat): restore ViewBuilder builds for pending queue subscription fix(chat): subscribe pending-message bar to queue change counter fix(core): stop stale sheet onDismiss cancelling chained local tools fix(ios): pause streaming auto-scroll during user touch/deceleration fix(ios): tighten toolbar spacing between org chip and new chat fix(macos): align chat toolbar chrome with primary styling fix(ui): align iOS chat toolbar organize chip and menus refactor(chat): split StandardMessageContentView into support file refactor(core): split Responses DTOs and test helpers across files refactor(macos-chat): relocate folder chip beside New Chat toolbar cluster

  • 1.48.0

    feat(onboarding): tighten API-key welcome copy and vendor list feat(about): personalize About tab and trim onboarding chrome feat(settings): organize Settings into Models/Tools/App/About tabs fix(ios-chat): stop transcript squash on send/delete/loading toggle fix(ios-chat): clear stale streaming indicator on previous assistant rows fix(ios-chat): stop transcript drift after breaking streaming auto-follow fix(core): omit reasoning_effort by default on customOpenAI chat fix(settings): match iOS About legal row typography to intro copy perf(chat): add extraHeavy streaming throttle tier and retune gates

  • 1.49.0

    feat(settings): default local tools on and link to Tools tab feat(settings): OpenRouter PDF processing engine picker in Settings feat(settings): OpenRouter search picker in Settings feat(core): offload oversized message text to iCloud Drive fix(settings): show OpenRouter picker row labels on iOS fix(openrouter): migrate web search from deprecated plugin to server tool fix(ios-chat): stop post-send scramble when penultimate reply truncates fix(settings): make API key optional for OpenAI-compatible providers fix(ios-chat): descramble transcript on send via layout revalidation fix(macos): stop file-missing banner from blowing up window height build(deps): bump textual for empty table cell fix

  • 1.50.0

    feat(chat): run HTML and JavaScript code blocks in WebView preview fix(chat): enable send when sole custom provider is selected fix(macos-chat): keep penultimate reply full until off screen on send fix(chat): resolve sends against the global model selection perf(sidebar): speed up drawer search and gate message highlights

  • 1.51.0

    feat(chat): option to compact conversation to reduce API context credits feat(settings): add Discord to About feedback support bullets fix(chat): stop ChatFindResponder republishing on every streaming frame fix(settings): stop model picker emptying on macOS/iOS sync perf(streaming): remove O(n²) chunk joins and per-token cost scans

  • 1.52.0

    feat(settings): add reusable system message presets per conversation feat(settings): offload long global system messages to iCloud Drive feat(settings): add toggle to pause custom API parameters

  • 1.53.0

    feat(vercel): unwrap nested stream errors feat(settings): default Anthropic prompt caching toggles on feat(chat): surface prompt-cache usage across providers feat(settings): add Anthropic prompt caching toggles fix(vercel): send PDF attachments in gateway file shape fix(gemini): send toolConfig and round-trip thought signatures fix(chat): gate send and streaming on global model selection fix(chat): descramble edited messages on iOS fix(chat): keep sibling thinking toggles clickable on macOS fix(chat): right-align RTL (Farsi/Arabic/Hebrew) markdown per block fix(icons): enable alternate app icons on iPad fix(chat): defer preset selection on draft new chat (iOS)

  • 1.54.0

    feat(chat): default-collapse local tool transcript rows with summaries feat(folders): add folder-level system message presets and editor feat(chat): assign draft new chats to folders before first send fix(latex): detect simple inline math without currency false positives fix(sidebar): adaptive bottom buttons for large Dynamic Type fix(ios-chat): anchor collapse/expand to the toggled row, not the bottom fix(vercel): route Anthropic thinking through providerOptions fix(local-browser): format local tool metadata as markdown bullets fix(local-browser): bound DOM snapshot timeout to unstick auto-extract fix(ios-chat): descramble scroll overlap without settle jump fix(chat): default thinking section collapsed during streaming refactor(core): replace regex HTML extraction with SwiftSoup style(ios-chat): inset message rows from screen edges style(chat): soften message row corners on iOS and macOS

  • 1.55.0

    feat(settings): theme picker and font options fix(ios-chat): stop transcript blanking when typing during stream fix(anthropic): request summarized thinking on adaptive models

  • 1.56.0

    feat(chat): display streaming performance diagnostics feat(tools): remote MCP client with settings UI and tool routing feat(chat): include info-bubble metadata in Final JSON fix(core): replace expired Discord invite with new permanent link fix(chat): stop cloud models mimicking local tool transcript text

  • 1.57.0

    feat(chat): import conversations from JSON on macOS feat(chat): add Ghost/Write fix(settings): preserve serif font and clarify local preferences fix(latex): pin SwiftDraw below 0.28 to restore equation images fix(chat): label MCP transcript rows as MCP, not local tools perf(chat): cache LaTeX parse/blocks across MarkdownTextView body evals perf(chat): avoid full collapse checks for row identity perf(chat): reduce long-transcript streaming CPU perf(chat): stop idle long-transcript CPU hangs perf(chat): avoid transcript refetches during streaming

  • 1.58.0

    feat(localization): add complete Simplified Chinese support feat(privacy): encrypt sensitive CloudKit fields for new records feat(chat): focus composer on New Chat across platforms fix(release): use Apple Git on Apple silicon fix(macos): restore composer file drag and drop fix(openrouter): replay stateless Responses tool history fix(macos): group controls in material toolbars fix(macos): rebalance chat toolbar controls fix(macos): refine chat and settings toolbars fix(chat): size message info popover for ADP footer fix(markdown): stop currency $ from swallowing headings and tables fix(privacy): Drive-back oversized tool and Face/Off payloads fix(chat): stream Ghost/Write drafts into the placeholder fix(providers): drop max_tokens from custom OpenAI titles fix(providers): decode Together-style custom models lists fix(macos): label Cmd-N as New Chat in File menu fix(chat): capture Compact confirm before sheet dismiss fix(chat): harden Compact cancel and drain pending queue chore(privacy): plan CloudKit ADP encryption perf(chat): throttle light streaming UI updates to ~20fps perf(chat): drop streaming dots TimelineView to ~12fps refactor(custom-params): drop duplicate JSONValidator helper

  • 1.59.0

    feat(ios-chat): show conversation title in toolbar feat(macOS): show conversation title in toolbar feat(chat): modernize transcript message presentation feat(chat): consolidate composer model selection feat(sidebar): modernize navigation controls feat(settings): relocate clear-all conversation action feat(chat): add adaptive multi-AI Mind/Meld synthesis fix(mac-chat): stabilize long transcript entry scroll

  • 1.60.0

    feat(mcp): add bounded parallel tool execution feat(local-tools): add bounded parallel headless execution feat(chat-ui): refine conversation actions and navigation fix(face-off): recover legacy messages without SwiftData crashes fix(find): highlight matches without strikethrough fix(chat): preserve compaction and attachment ownership fix(chat): preserve partial streams and navigate find matches fix(mac-chat): target the realized transcript tail fix(mac-chat): preserve streams and guard restart popovers fix(mac-chat): stabilize long transcript scrolling fix(tools): preserve valid streamed tool names fix(tools): decode quoted search summaries correctly fix(markdown): refresh LaTeX renderer when input changes fix(ios-navigation): restore hamburger menu taps fix(chat-ui): clarify token usage accounting fix(mind-meld): stabilize iOS model configuration fix(mind-meld): refine macOS configuration disclosure

  • 1.60.1

    fix(face-off): safely recover every legacy persistence shape fix(sidebar): retain footer backing above iOS keyboard fix(persistence): harden legacy message migration

  • 1.61.0 · 31 Jul 2026

    feat(providers): add custom Responses endpoints feat(gemini): add file-backed video uploads feat(settings): add current date context to AI requests fix(accessibility): stop auto-follow during VoiceOver review perf(local-browser): bound extraction work off main actor refactor(settings): centralize preference persistence

Alternatives

Availability by market

Data quality & evidence

Page completeness
Live store listing
Last verified
31 Jul 2026
Sources
App Store

Report a correction