AI cover letter generators have a reputation problem. Not because AI cannot write well, but because most of the tools that call themselves AI cover letter generators produce letters that read exactly like what they are: generic text assembled from a job title and a few keywords, wrapped in corporate language that no actual human would choose to write.
Recruiters see these letters. They have been seeing them since late 2022, and they have become very good at identifying them. The pattern is consistent: a first paragraph that compliments the company in abstract terms ("I am excited about the opportunity to join a company that values innovation"), a middle section that lifts phrases from the job description without connecting them to anything real, and a closing that offers to discuss further at the recruiter's convenience. The letter is technically about the candidate but contains no information about the candidate.
This guide covers why that keeps happening, how to give any AI tool the inputs it needs to do better, and what makes a purpose-built, grounded tool different from a generic prompt.
Why most AI cover letters fail
The failure mode is structural, not accidental. Most AI cover letter generators ask you for two things: a job title and a company name. Some ask for a few bullet points about your background. From those inputs, the model has to produce something that sounds specific and personal. It cannot, because it has almost nothing to work with.
Here is what that produces in practice:
"As a passionate software engineer with a strong commitment to building scalable solutions, I am thrilled to apply for the Senior Backend Engineer position at Acme Corp. Your company's dedication to innovation and technical excellence aligns perfectly with my own values and career aspirations."
Every word of that opening could appear in a letter for any software engineering role at any company. "Passionate," "strong commitment," "thrilled," "dedication to innovation" — these are signals to a recruiter that the letter was not written by the candidate. They also waste the limited attention window. A recruiter who reads that first sentence is less likely to read the second.
The hallucination problem is worse. When you ask a generic AI tool to "highlight my relevant experience for this role," and you have only given it a job title, the model may fabricate plausible-sounding project names, metrics, or responsibilities. A cover letter that says you "led a team of engineers to deliver a critical infrastructure migration" when your CV shows no such project creates an immediate credibility problem if the recruiter compares the two documents. More subtly, a letter that attributes outcomes to you that you cannot discuss confidently in an interview is a liability.
The tone problem compounds both. Companies have distinct voices. A Series A startup that uses casual, direct language in its JD and on its website does not want a cover letter that opens with "Dear Hiring Manager, I write to express my interest in the aforementioned position." A consulting firm that uses formal language throughout its recruiting process will read an overly casual letter as a mismatch signal. Generic AI tools do not know the company's voice because they were not given access to it.
The 4-input formula
The fix is not to use a better AI tool — it is to give the tool better inputs. A cover letter that sounds human and specific requires four pieces of information that most tools never collect.
Input 1: The full job description. Not the job title. The actual text of the JD, including the requirements, the responsibilities, the team context, and any language that reveals the company's priorities. "We are a small team that ships fast and expects everyone to own their work end to end" tells you more about what to emphasise than "Software Engineer, Backend." The model needs the full text to mirror the company's vocabulary and to identify what they actually care about.
Input 2: Your CV or relevant experience. This is the grounding input. Everything in your cover letter should trace back to something real — a specific project, a measurable outcome, a skill you have demonstrated. When the model has your actual experience to work from, it cannot fabricate. When it does not, it will. Paste your full CV, or at minimum the roles and projects most relevant to the position.
Input 3: Tone. Give the model an explicit instruction about register. "Match the casual, direct tone of the JD" is useful. "Write formally" is useful. "Write as if I am speaking directly to the hiring manager, not performing for an audience" is useful. Without a tone instruction, the model defaults to its training distribution — which, for cover letters, is a slightly formal, slightly performative register that sounds like most of the bad examples in its training data.
Input 4: The company angle. What do you actually know about this company that is specific? This could be a product they recently launched, a strategic direction they have announced, a technical decision visible from their engineering blog, or a genuine reason you want to work there. "I noticed you migrated to a service mesh architecture last year and I have been working through similar challenges at my current company" is a company angle. "I am excited about Acme Corp's commitment to innovation" is not. This input requires a few minutes of research and is the most differentiating part of a cover letter — and the one most tools skip.
Example prompt for ChatGPT
The following prompt applies the four-input formula. You can paste it directly into ChatGPT (4o or above) or any model that accepts long context. Replace the bracketed sections with your own content.
You are helping me write a cover letter for a job application. I will give you four inputs. Use all of them.
## Job description
[Paste the full job description here]
## My CV / relevant experience
[Paste your CV or the most relevant sections here]
## Tone instruction
Write in a direct, confident tone that matches the JD's register. Avoid words like "passionate," "thrilled," "excited," "dedicated," "leverage," and "synergy." Do not open with "I am writing to apply." Do not use the phrase "team player." Write as if speaking to a person, not performing for an audience.
## Company angle
[Write 2-3 sentences about something specific you know about this company — a product decision, a recent announcement, a technical choice you noticed, or a genuine reason you want to work there]
## Instructions
- Length: 3–4 short paragraphs, no longer than 400 words total
- Opening: start with a specific statement about the role or the company, not about yourself
- Body: ground every claim about my experience in a real project or outcome from my CV — do not invent metrics or project names
- Closing: end with a clear, direct next-step sentence; do not offer to "discuss further at your convenience"
- Do not use bullet points in the letter
- Do not add a subject line or formal salutation ("Dear Hiring Manager")
This prompt will produce a meaningfully better result than a generic tool because it gives the model what it needs. However, you should still review the output carefully. ChatGPT does not have a verified copy of your CV — it has what you pasted, which may be incomplete. It also does not know what you actually want to emphasise or what you consider most important. The output is a strong first draft, not a finished letter.
Two practical limitations to be aware of: first, if your pasted CV is long, the model may weight recent experience heavily regardless of relevance — you may need to reorder your inputs to lead with the most relevant material. Second, even with the grounding instruction, models occasionally introduce slight exaggerations or conflations. Read the output line by line and verify that every claim is accurate.
Why a grounded tool beats a generic prompt
The ChatGPT approach above is better than a two-field generator, but it still depends on you to do the grounding work — pasting the right sections, verifying the output, catching fabrications. There is a structural reason that a purpose-built tool with access to your actual project library produces better results.
No hallucination by construction. A tool that is built on your master CV and project records can only reference what is in those records. It cannot invent a metric it does not have. This is not a model-level constraint — it is an architectural one. The model generates text, but the allowed references are bounded by your real data.
Your voice, not the model's default. When a tool has processed multiple letters you have written and multiple iterations of your CV, it has a model of how you express yourself. A generic prompt does not. The difference shows up in word choice, sentence rhythm, and whether the letter sounds like the person it is supposed to be from.
Stack-specific fluency. A cover letter for a backend engineering role at a fintech needs different vocabulary than one for a product management role at a consumer startup. A tool that has your CV with your actual stack and project history can surface the right technical terms in the right context without you having to specify them in the prompt.
Coherence with your CV. The greatest practical risk of a generic AI cover letter is that it contradicts or diverges from your CV — a different job title, a project described differently, a metric that does not match. A grounded tool generates the letter from the same source as the CV, so they cannot contradict each other.
This is the gap that RecastCV's cover letter generator is built to close. It reads your master CV, uses your real project details, and generates a letter that is specific to the JD without inventing anything. The result is a letter that a recruiter can cross-reference against your CV without finding discrepancies.
Generate one with RecastCV
The process has three steps.
Step 1: Upload your master CV. Your master CV is the long-form source document that contains all of your roles, projects, outcomes, and skills. You upload this once. RecastCV uses it as the grounding layer for every tailored output — CV and cover letter alike.
Step 2: Paste the job description URL. RecastCV fetches and parses the JD, identifies the key requirements and vocabulary, and cross-references them against your master CV. It selects the projects and experiences from your background that are most relevant to this specific role.
Step 3: Download the cover letter. The output is a cover letter grounded in your real experience, written in language that mirrors the JD, and formatted as a .docx you can edit and send. Review it, adjust the company angle section to add anything specific you know about this employer, and it is ready.
You can combine this with the tailored CV for the same role to ensure both documents use consistent language and emphasis. When the ATS processes your CV and a recruiter reads your cover letter, they will see the same candidate described the same way — which is both more credible and more likely to get you to the next stage. For credit pricing, see the pricing page. If you want to understand how to avoid hallucination in AI-generated CVs more broadly, this post on grounded AI resumes covers the topic in depth.
Frequently asked questions
Should I still write cover letters in 2026?
For most roles at most companies, yes — but the calculus has shifted. Many companies now explicitly mark cover letters as optional, and a significant portion of ATS implementations do not surface cover letters to recruiters until after a CV screening pass. That said, for roles you genuinely want, a well-written, specific cover letter is still a differentiator — precisely because most AI-generated letters are generic. If you can produce a cover letter that sounds like a real person who understands the role, it reads as effort and specificity. The question is whether you can do that without spending an hour per application. That is what a grounded tool makes possible.
Will a recruiter know my cover letter was written with AI?
A letter written with a generic AI tool using common patterns will often be identifiable — the vocabulary, sentence structures, and phrase choices cluster around the same AI-writing fingerprint. A letter written with a grounded tool from your actual CV, with a real company angle and your own edits, is much harder to identify as AI-generated because it contains specific, accurate information that an AI would have no way to fabricate. The safest approach is to treat any AI output as a strong draft and make it your own — adjust the company angle, change phrases that do not sound like you, and verify every factual claim.
How long should an AI-generated cover letter be?
Three to four short paragraphs, under 400 words. Recruiters do not read long cover letters closely — they scan for signal. A concise letter that opens with something specific about the role and grounds two or three relevant experiences in measurable outcomes will outperform a five-paragraph letter with filler. If a cover letter requires scrolling, it is almost certainly too long.
What is the biggest mistake people make when using AI for cover letters?
Giving the tool too little input and not reviewing the output. The two-field generator problem — providing only a job title — is well-documented. But even people who use a good prompt often accept the first output without reading it carefully. AI models can mischaracterise your experience, conflate two different projects, or produce a metric that does not match your CV. Every factual claim in a cover letter needs to be verifiable by you in an interview. Read the output the way a sceptical recruiter would, and fix anything that does not hold up.