diff --git a/@commitlint/travis-cli/src/cli.js b/@commitlint/travis-cli/src/cli.js
index f6e2177c44..d05b33fe55 100755
--- a/@commitlint/travis-cli/src/cli.js
+++ b/@commitlint/travis-cli/src/cli.js
@@ -42,13 +42,15 @@ async function main() {
 	// Restore stashed changes if any
 	await pop();
 
+	const args = process.argv.slice(2);
+
 	// Lint all commits in TRAVIS_COMMIT_RANGE if available
 	if (IS_PR && RANGE) {
 		const [start, end] = RANGE.split('.').filter(Boolean);
-		await lint(['--from', start, '--to', end]);
+		await lint(['--from', start, '--to', end, ...args]);
 	} else {
 		const input = await log(COMMIT);
-		await lint([], {input});
+		await lint(args, {input});
 	}
 }
 
diff --git a/@commitlint/travis-cli/src/cli.test.js b/@commitlint/travis-cli/src/cli.test.js
index 9b37462aed..a47bfe52c2 100644
--- a/@commitlint/travis-cli/src/cli.test.js
+++ b/@commitlint/travis-cli/src/cli.test.js
@@ -18,9 +18,9 @@ const validBaseEnv = {
 	TRAVIS_PULL_REQUEST_SLUG: 'TRAVIS_PULL_REQUEST_SLUG'
 };
 
-const cli = async (config = {}) => {
+const cli = async (config = {}, args = []) => {
 	try {
-		return await execa(bin, [], config);
+		return await execa(bin, args, config);
 	} catch (err) {
 		throw new Error([err.stdout, err.stderr].join('\n'));
 	}
@@ -98,6 +98,39 @@ test('should call git with expected args on pull_request', async () => {
 	]);
 });
 
+test('should call git with extra expected args on pull_request', async () => {
+	const cwd = await git.clone(
+		'https://github.com/conventional-changelog/commitlint.git',
+		['--depth=10'],
+		__dirname,
+		TRAVIS_COMMITLINT_GIT_BIN
+	);
+
+	const result = await cli(
+		{
+			cwd,
+			env: {...validBaseEnv, TRAVIS_EVENT_TYPE: 'pull_request'}
+		},
+		['--config', './config/commitlint.config.js']
+	);
+	const invocations = await getInvocations(result.stdout);
+	expect(invocations.length).toBe(3);
+
+	const [stash, branches, commilint] = invocations;
+
+	expect(stash).toEqual(['git', 'stash', '-k', '-u', '--quiet']);
+	expect(branches).toEqual(['git', 'stash', 'pop', '--quiet']);
+	expect(commilint).toEqual([
+		'commitlint',
+		'--from',
+		'TRAVIS_COMMIT_A',
+		'--to',
+		'TRAVIS_COMMIT_B',
+		'--config',
+		'./config/commitlint.config.js'
+	]);
+});
+
 function getInvocations(stdout) {
 	const matches = stdout.match(/[^[\]]+/g);
 	const raw = Array.isArray(matches) ? matches : [];