JetBrains Junie for Threads: A Kotlin Tips Carousel
Connect JetBrains Junie to Tareno to turn three IDE screenshots into a Threads carousel with a caption and alt text, saved as a draft you approve in Tareno.
Can Junie write the caption and alt text for a carousel of IDE screenshots on Threads?
Yes, once Tareno is added in Junie's MCP settings. Junie reads the code behind your screenshots, checks the tip is correct, writes a caption within 500 characters and alt text for each image, and saves the carousel as a draft through Tareno. Tareno has not completed a client test for Junie. Approval happens in Tareno.
A tip about an IDE or a language reads best as a picture: the code before, the code after, the result. Threads supports a carousel of two to twenty images, which is exactly the shape of a three-step tip. The weak point is correctness, because a screenshot of wrong code is trusted precisely because it is a screenshot. Junie works inside the IDE, so it can check the code in the screenshot before the post exists. This page follows a Kotlin developer through a three-slide tip, with the setup steps JetBrains documents, the alt text that makes code images usable and a plain statement of the limits.
Example: a Kotlin developer shares a scope-function tip
Imagine a developer who wants to show when to use let instead of an if-check on a nullable value. She takes three screenshots: the verbose version, the let version and a note on when not to use it. In the IDE she asks Junie to compile both snippets in a scratch file, which it does, noting that the two behave the same for her example. Junie finds the images with list_media, writes a 320-character caption and a sentence of alt text per slide that includes the code in words, and saves the carousel with create_drafts for her Threads profile.
Step by step
01
Open MCP Settings in the IDE
The path is Tools, Junie, MCP Settings and then Add. A mcp.json with an mcpServers section opens, and JetBrains refers you to the server's documentation for what goes inside.
02
Paste the hosted endpoint
Call the entry tareno and use the address from the Remote MCP setup page. Once saved, Junie lists the server, its connection state and the tools it found.
03
Test with a read-only call
Ask for list_accounts. If your Threads profile comes back, the connection holds; if not, the profile still needs connecting inside Tareno.
04
Verify the code in the slides
Ask Junie to compile or run the snippets in a scratch file and confirm that the before and after behave as the tip claims. A tip that is wrong in one case is worse than no tip.
05
Find the images and write alt text
Junie finds the screenshots with list_media and writes a sentence of alt text per slide that says the code in words. Code in an image is invisible to a screen reader.
06
Save, request and approve
Junie writes the caption within 500 characters and saves the carousel through create_drafts. Give a day, a time and an IANA time zone, and approve the pending request in the Tareno dashboard.
Prompts to copy
Verify the snippets
Compile and run the two Kotlin snippets from my screenshots in a scratch file: the if-check version and the let version. Show me the output of each, tell me whether they behave identically for a nullable String, and name one case where they do not.
Check the screenshots
Use Tareno to look up the files [kotlin-let-1, kotlin-let-2, kotlin-let-3] in my media library. Tell me whether they are in the right order for before, after and when not to use it, and whether any shows an IDE theme or a file name I should hide.
Write caption and alt text
Write a Threads caption within 500 characters for the three slides and one sentence of alt text per slide that states the visible code in words. The caption should end with a question about how readers handle nullable values.
Save the carousel
Use Tareno to confirm my Threads profile [handle] and save the approved caption and the three screenshots in order as a draft. Return the draft ID, and request no time until I give you the day and the time zone.
Threads limits and tools in Tareno
Text
up to 500 characters; hashtags and mentions are supported; plain text, no rich formatting
Images
jpg, png, webp, up to 20 MB each, up to 20 per post, recommended ratios 1:1, 9:16
Video
mp4, mov, 1 to 5 min, up to 50 MB, one video per post
Links
links can sit inside the text and get a preview card
What Tareno can read
posts published outside Tareno: yes; comments: yes; transcripts: yes; video download: yes
As configured in Tareno on 2026-10-24. The live rules for your own account come from the get_platform_schema tool.
What Threads itself documents
A profile is limited to 250 API-published posts within 24 hours; a carousel counts as one post.
Text posts are limited to 500 characters, and emojis count by their UTF-8 bytes, not as single characters.
Carousels need 2 to 20 items. Single images may be JPEG or PNG up to 8 MB, and videos MOV or MP4 up to 5 minutes and 1 GB.
Source: Meta: Threads API, posts, read on 2026-10-24. Platform rules change; check the page before you rely on a number.
Threads in Tareno
Meta's documentation says a Threads carousel needs 2 to 20 items, so a three-slide tip is well within the format.
Tareno's configuration allows up to 20 images in jpg, png or webp on a Threads post, and Meta allows single images as JPEG or PNG up to 8 MB.
Threads is a network where Tareno reads replies, so Junie can group the corrections and alternatives people leave under a tip.
Meta's documentation counts emojis by UTF-8 bytes in the 500-character limit, so keep emojis out of a technical caption or leave margin.
What does not work
Junie cannot see what is in a screenshot, only the file names and what you tell it, so you check that the order and alt text match the images.
It cannot post replies to corrections on Threads, since Tareno reads replies but has no tool that publishes one.
It cannot post anything itself, since each time request stops at the approval step in the dashboard.
Mistakes to avoid
Posting code you did not run. A screenshot gives wrong code an air of authority.
Leaving alt text empty. Code in an image is unreadable without it.
Showing project names in the file tab. Check the screenshots for details you meant to hide.
Guessing fields in mcp.json. When no tools appear, compare the entry with the Tareno setup page.
Open the client's MCP server settings. Add Tareno with the HTTPS endpoint below using Streamable HTTP. This requires support for authenticated remote MCP, not just local stdio servers.
Choose OAuth, connect and sign in with your own Tareno account. Check the requested permissions. Refresh the client's tool list after authorization.
Run list_accounts first. Confirm the returned workspace and account IDs before creating a draft. If no accounts appear, connect a social account in Tareno first.
https://tareno.co/api/mcp
Use the same Tareno account across supported clients. Open the relevant setup guide for authentication, first use, reconnect, and revocation.
JetBrains documents adding MCP servers in Junie's settings, so the route exists. Tareno itself has no completed client test with Junie, which is why the first step is to confirm the server state.
Why have Junie run the snippets first?
Because a screenshot makes code look authoritative. Junie compiles and runs both versions in a scratch file and reports where they differ, so the tip states what actually happens.
What should the alt text contain for a code slide?
The code itself, said in words, plus what the slide shows. A person who cannot see the image cannot copy the example otherwise, and the alt text costs a sentence per slide.
How many slides should the tip have?
Three is a good size: the problem, the fix and when not to use it. Threads allows 2 to 20 items in a carousel, but a longer carousel is better as a series of separate tips.
Can people correct me in the replies?
They will, and that is useful. Tareno reads replies on Threads, so Junie can group corrections and alternatives for you to review. You answer in the app, because Tareno cannot post replies.
Will the carousel appear before I say so?
No. A time request is held in Tareno as a pending action, and Threads gets the carousel only after your approval in the dashboard. Junie can tell you it is waiting, nothing more.